0

我想对类似于以下的方法调用进行测试:

call_to_method_1 param1

这种方法可以引发例如:

raise msg1 if ...
raise msg2 if ...

我的问题是如何使用 RSpec 的 msg1、msg2 异常消息测试异常。

4

1 回答 1

2
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 最好提出特定类型的异常,而不是依赖消息。

于 2012-12-06T21:14:01.217 回答