Techioz Blog

メソッドでエラーが発生したにもかかわらず、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)

ここで「予期されるエラー」セクションを確認してください