次のようなメソッド呼び出しでテストを実行したいと思います。
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
ただし、メッセージに依存するのではなく、特定の種類の例外を発生させる方がよいでしょう。