有没有办法在doctests中使用模块别名?我不想每次都输入一个长名称。
defmodule SomeLongModuleName.SubModule do
alias SomeLongModuleName.SubModule, as: SubModule
@doc """
iex> SubModule.method(%{property_a: 1, property_b: 2) # CompileError
3
"""
def method(%{property_a: a, property_b: b) do
a + b
end
end
上面的示例显示了一种情况,在这种情况下,我可能想使用别名来避免出现长行。可以在doctest中使用别名吗?
最佳答案
我可以想到两种方法,不必一次又一次地输入模块名称。
defmodule SomeLongModuleName.SubModule do
alias SomeLongModuleName.SubModule, as: SubModule
@doc """
iex> #{SubModule}.method(%{property_a: 1, property_b: 2})
3
"""
def method(%{property_a: a, property_b: b}) do
a + b
end
end
doctest
时,添加import: true
:defmodule SomeLongModuleName.SubModule do
@doc """
iex> method(%{property_a: 1, property_b: 2})
3
"""
def method(%{property_a: a, property_b: b}) do
a + b
end
end
doctest SomeLongModuleName.SubModule, import: true