我写了这个测试用例:
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
。返回被拯救的异常,否则失败
我猜测在我的测试用例中,首先评估参数。但是我该怎么写呢?
答案 0 :(得分:18)
在函数中包装函数调用是可行的方法。
assert_raise ArgumentError, fn ->
myFn(a, b)
end
我希望assert_raise
接受函数调用,但它需要一个函数。