0

私は padrinorb に基づくアプリケーションを持っており、同じために shoulda テスト ライブラリを使用しています。スロー例外をテストする必要があるメソッドがあります。同じドキュメントを見つけようとしましたが、何も見つかりませんでした。

ここに私がテストしたいサンプルコードがあります

def some_method(param)
    raise APIException.new('Exception) if param == 2
end

パラメータ 2 を渡したときに some_method が例外をスローすることをテストするにはどうすればよいですか。

4

1 に答える 1

3
expect{ some_method(params) }.to raise_error(APIException)

TestUnit を使用する場合、これは機能するはずです ( source )

assert_raises(APIException) { some_method(params) }

例外メッセージもテストするには、次を使用します。

exception = assert_raises(Exception) { whatever.merge }
assert_equal( "message", exception.message )
于 2013-09-19T10:03:05.773 に答える