【发布时间】:2012-03-02 13:07:04
【问题描述】:
我有这个集成规范:
feature "When buying a deal, a user" do
let(:current_market) { Factory.create(:market) }
let(:deal) { Factory.create(:deal_with_products, market: current_market) }
scenario "can change quanitity and see an updated total" do
visit_checkout_for_product deal.products.first
# ...
end
# ...
end
def visit_checkout_for_product(product)
visit deal_path current_market, product.deal
choose product.title
click_button 'buy now'
end
这与RackTest 完美配合,但是当我将规范更改为:
scenario "can change quanitity and see an updated total", js: true do
visit_checkout_for_product deal.products.first
# ...
end
我的测试中断,给我一个500 Internal Server 错误,如下所示:
我似乎无法找到堆栈跟踪,但我有理由确定 nil:NilClass 应该是前面定义的 deal let 变量。
我无法理解的是,为什么 RackTest 完全没有问题...我在这里缺少一些额外的配置吗?
我正在使用RSpec 2.8.0 和Rails 3.1.1。如果您需要查看任何其他文件,请告诉我。
【问题讨论】:
标签: ruby-on-rails-3 selenium capybara rspec2 capybara-webkit