0

私は RSPEC を初めて使用し、コントローラーをテストしています。のようにテストが単独でパスすることがあります。

rspec spec/controllers/controller_name_spec.rb

合格しますが、実行すると:-

rspec spec

テストは失敗します。以前に合格したのと同じテストです。

その理由は、rspec のスケーラビリティまたはアプリケーション固有の問題に関連しています。統合テストでも同じ問題が見つかりました。Rails -v => 3.2.11 Ruby -v => 1.9.2p320 Rspec-rails バージョン => 2.13.0 rspec バージョン => 2.13.0

例えば:-

テストケース :-

it "should do ##something##" do
   plans=Plan.pluck(:id)
   plans.delete(@user.subscription.plan.id)
   @user.subscription.stripe_customer_token= "cus_1l9m6CicQEXZJ0"
   @user.save
   get 'apply_change_account', {:subscription=>{:plan_id=>plans.sample}}
   flash.now[:success].should_not be_nil
   response.should redirect_to dashboard_manage_accounts_path
 end

応答エラー メッセージ:-

1) DashboardController Dashboard should do ##something##
    Failure/Error: flash.now[:success].should_not be_nil
      expected: not nil
           got: nil
    # ./spec/controllers/dashboard_controller_spec.rb:119:in `block (2 levels) in <top (required)>'

前もって感謝します

4

1 に答える 1

1

flash.clearフラッシュに関連するすべてのテストで、ブロックの前に追加してみてください。

これで問題が解決する場合とそうでない場合がありますが、フラッシュ オブジェクトが汚染されないように、フラッシュ関連のアイテムをテストすることが不可欠です。

于 2013-05-03T11:22:28.430 に答える