Elixir's ExUnit
comes with a number of
different ways to make assertions in your tests. One of those functions is
assert_raise
which allows you to test that a particular exception is raised when the
given function is invoked.
Using assert_raise/2
looks something like this:
assert_raise FunctionClauseError, fn ->
Enum.chunk([1,2,3], 0)
end
The assert_raise/3
form is also available which allows you to test both
the type of exception and the resulting message.
assert_raise FunctionClauseError, ~r/^no function clause matching/, fn ->
Enum.chunk([1,2,3], 0)
end
Using the regex sigil for the second argument is generally a good way to go to keep tests from getting too brittle.