我希望能够在 Elixir中对协议的实现进行doctest 。
这是一些示例代码:
defprotocol Size do
def size(data)
end
defmodule Foo do
defstruct []
defimpl Size do
@doc """
## Examples
iex> Size.size(%Foo{})
0
"""
def size(foo) do
0
end
end
end
此测试代码不起作用(因为它只能找到Foo
模块中定义的函数,在 之外defimpl
):
ExUnit.start()
defmodule FooTest do
use ExUnit.Case
doctest Foo
end
如何测试defimpl
块?