我有一个基于 padrinorb 的应用程序,并且我正在使用 shoulda 测试库。有一种方法我需要测试抛出异常。我试图找到相同的文档,但找不到任何东西。
这是我要测试的示例代码
def some_method(param)
raise APIException.new('Exception) if param == 2
end
我应该如何测试 some_method 在传递参数 2 时抛出异常。
我有一个基于 padrinorb 的应用程序,并且我正在使用 shoulda 测试库。有一种方法我需要测试抛出异常。我试图找到相同的文档,但找不到任何东西。
这是我要测试的示例代码
def some_method(param)
raise APIException.new('Exception) if param == 2
end
我应该如何测试 some_method 在传递参数 2 时抛出异常。
expect{ some_method(params) }.to raise_error(APIException)
如果您使用 TestUnit 这应该可以工作(来源)
assert_raises(APIException) { some_method(params) }
要测试异常消息,请使用以下命令:
exception = assert_raises(Exception) { whatever.merge }
assert_equal( "message", exception.message )