Elixir assert_raise 不捕获异常

Elixir assert_raise doesn't catch exceptions

我写了这个测试用例:

assert_raise ArgumentError, myFn(a,b)

但它的评估方式与我预期的不同。 myFn 引发了一个 ArgumentError (do: raise ArgumentError),但它没有被 assert_raise 捕获。

文档中的示例工作正常:

assert_raise ArithmeticError, fn ->
  1 + "test"
end

来自文档:

assert_raise(exception, function)
Asserts the exception is raised during function execution. Returns the rescued exception, fails otherwise

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

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

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

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