【发布时间】:2015-05-05 22:12:13
【问题描述】:
我有一个 Rspec 测试,代码如下:
visit root_path(cc: coupon.code)
using_wait_time 5 do
page.should have_content 'Welcome! You have applied coupon ' + coupon.code
end
基本上,用户可以使用优惠券代码点击我们的根路径,该代码应设置在 cookie 中并通过视觉反馈进行确认。
如果我自己运行,这个测试就可以工作:
Finished in 36.81 seconds (files took 6.69 seconds to load)
2 examples, 0 failures
但如果我将它作为我整个测试套件的一部分运行,我会收到错误:
1) Setup sets coupon
Failure/Error: page.should have_content 'Welcome! You have applied coupon ' + coupon.code
expected #has_content?("Welcome! You have applied coupon foo") to return true, got false
# ./spec/requests/setup_spec.rb:29:in `block (3 levels) in <top (required)>'
# ./spec/requests/setup_spec.rb:28:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:87:in `block (3 levels) in <top (required)>'
# ./spec/spec_helper.rb:86:in `block (2 levels) in <top (required)>'
唯一可能发生的情况是 cookie 未设置。有谁知道为什么单独运行测试与将其作为整个套件的一部分运行会有所不同?
【问题讨论】:
标签: ruby-on-rails cookies rspec capybara