How to assert Elixir doctest raises an error
Today I learned how to assert an Elixir doctest raises an error. Check this out:
defmodule MyModule do
@doc """
This function raises ArgumentError.
## Examples
iex> MyModule.my_func()
** (ArgumentError) something is wrong
"""
def my_func() do
raise(ArgumentError, "something is really wrong")
end
end
The previous doctest will fail with this message:
1) doctest MyModule.my_func/0 (1) (MyModuleTest)
test/my_module_test.exs:3
Doctest failed: wrong message for ArgumentError
expected:
"something is wrong"
actual:
"something is really wrong"
code: MyModule.my_func()
stacktrace:
lib/my_module.ex:10: MyModule (module)
Tweet