RSpec:是否有设置让js:true适用于所有规格?

时间:2013-03-02 09:58:55

标签: javascript google-chrome rspec capybara

每当请求规范失败时,我都会使用respec gem重新运行失败的示例。执行此操作时,我想激活:chrome作为驱动程序(而不是无头:webkit),以便我可以在Chrome中直观地检查问题。

我没有手动向测试用例添加driver: :chrome,而是像全局一样全局指定它:

#spec_helper.rb   Capybara.javascript_driver =如果定义?(Respec)                                      :chrome#使用带头的浏览器在重新分配时可视地检查内容                                    其他                                      :webkit#否则使用无头浏览器                                    端

遗憾的是,对于未启用JavaScript的规范,这似乎不起作用。有没有办法为所有规格切换JS?类似的东西:

# spec_helper.rb
Capybara.javascript_driver = if defined?(Respec)
                                   Capybara.javascript = true
                                   :chrome # Use headed browser to inspect stuff visually when respec'ing
                                 else
                                   :webkit # Otherwise use headless browser
                                 end

由于

1 个答案:

答案 0 :(得分:1)

javascript_driver使用only for scenarios with @javascript tag

如果您想使用chrome运行所有方案,则应修改default_driver而不是javascript_driver

if defined?(Respec)
  Capybara.default_driver = :chrome
else
  Capybara.default_driver = :webkit
  Capybara.javascript_driver = :chrome
end