19

我写了这个测试用例:

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

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

4

1 回答 1

25

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

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

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

于 2016-06-08T13:25:23.393 回答