Я хочу иметь возможность тестировать реализацию протокола в Elixir.
Вот пример кода:
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
?