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
进行函数调用,但它需要一个函数。
我写了这个测试用例:
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 theexception
is raised duringfunction
execution. Returns the rescued exception, fails otherwise
我猜想在我的测试用例中,首先评估参数。但是我应该怎么写呢?
将函数调用包装在函数中是可行的方法。
assert_raise ArgumentError, fn ->
myFn(a, b)
end
我希望 assert_raise
进行函数调用,但它需要一个函数。