我是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)>'
提前致谢
答案 0 :(得分:1)
尝试在每个与闪光灯相关的测试中添加flash.clear
。{/ p>
这可能会或可能不会解决问题,但测试闪光灯相关项目以避免闪光灯对象受到污染至关重要。