在一起运行时测试失败但单独通过

时间:2013-05-03 07:17:01

标签: ruby-on-rails-3 unit-testing rspec integration-testing rspec-rails

我是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 version => 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)>'

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试在每个与闪光灯相关的测试中添加flash.clear。{/ p>

这可能会或可能不会解决问题,但测试闪光灯相关项目以避免闪光灯对象受到污染至关重要。