Elixir assert_raise不会捕获异常

时间:2016-06-08 13:16:45

标签: elixir ex-unit

我写了这个测试用例:

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。返回被拯救的异常,否则失败

我猜测在我的测试用例中,首先评估参数。但是我该怎么写呢?

1 个答案:

答案 0 :(得分:18)

在函数中包装函数调用是可行的方法。

assert_raise ArgumentError, fn ->
  myFn(a, b)
end

我希望assert_raise接受函数调用,但它需要一个函数。