我想对类似于以下的方法调用进行测试:
call_to_method_1 param1
这种方法可以引发例如:
raise msg1 if ...
raise msg2 if ...
我的问题是如何使用 RSpec 的 msg1、msg2 异常消息测试异常。
我想对类似于以下的方法调用进行测试:
call_to_method_1 param1
这种方法可以引发例如:
raise msg1 if ...
raise msg2 if ...
我的问题是如何使用 RSpec 的 msg1、msg2 异常消息测试异常。
describe SomeClass do
let(:some_object) { described_class.new }
it 'should raise an exception' do
some_object.some_method('param').should raise_error(ExceptionClass, "exception_message")
end
end
如果你raise "message"
那么ExceptionClass
将是RuntimeClass
.
IMO 最好提出特定类型的异常,而不是依赖消息。