如何 运行 所有水豚测试,就好像所有场景都被标记为“@javascript”

How to run all Capybara tests as if all scenarios were tagged with "@javascript"

我可以在单个场景以及整个功能上添加 @javascript 标签(通过将标签添加到每个功能文件的顶部)。这很好用,但不是在每个文件中重复标签,我希望 Capybara 将所有特征文件视为标签存在。该套件使用 Poltergeist:

Capybara.javascript_driver = :poltergeist

我想坚持使用此驱动程序(以尽量减少更改),但看不到将其配置为始终执行的方法 javascript。有没有办法全局设置 javascript "on"?

随心所欲

describe "Some test", :js => true do
 it "bla bla" do
  #your test
 end
end

这样每次测试都会启用JS。

非标记测试 运行 Capybara.default_driver 所以

Capybara.default_driver = :poltergeist

将使所有测试默认使用 poltergeist。如果有任何特定场景您想使用原始默认 rack_test 驱动程序,您可以用 @rack_test 标记它们(假设您使用的是 require 'capybara/cucumber'