我写了这个测试用例:
assert_raise ArgumentError, myFn(a,b)
但它并没有达到我期望的效果。
myFn
引发ArgumentError(do: raise ArgumentError
),但assert_raise
不会捕获它。文档中的示例可以正常工作:
assert_raise ArithmeticError, fn ->
1 + "test"
end
从文档中:
assert_raise(exception, function)
确认在执行
exception
期间引发function
。返回挽救的异常,否则失败我猜想在我的测试用例中,首先评估参数。但是我应该怎么写呢?
最佳答案
将函数调用包装在函数中是必经之路。
assert_raise ArgumentError, fn ->
myFn(a, b)
end
我期望
assert_raise
进行函数调用,但是它需要一个函数。关于elixir - Elixir assert_raise没有捕获异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37703632/