メソッドでエラーが発生したにもかかわらず、Rspec raise_error テストが失敗する
概要
私のテストは次のようになります。
「非サブスクリプションまたは試用メンバーシップを渡すとエラーが返されます」 Expect(helper.description_for_subscription(繰り返しプラン)).to raise_error(RuntimeError) 終わり
私のメソッドはこれを返します:
失敗 「サブスクリプション モデル タイプが不明です!」
しかし、Rspec は次のような失敗メッセージを返します。
失敗/エラー: Expect(helper.description_for_subscription(quiring_plan)).to raise_error(RuntimeError) ランタイムエラー: サブスクリプション モデルの種類が不明です。
何が起こっているのか??
解決策
() の代わりに {} を使用して、期待値をブロック内にラップする必要があります。
expect{
helper.description_for_subscription(recurring_plan)
}.to raise_error(RuntimeError)
ここで「予期されるエラー」セクションを確認してください