我正在使用 Cucumber 和 Capybara 为我的 Rails 应用程序运行集成测试。我还使用 Spork 来加快测试运行速度。 Capybara 支持selenium 和 headless 恶作剧。 headless 浏览器有利于更快的测试运行,但有时我还需要查看浏览器显示的内容。这导致我更改 Capybara 驱动程序并重新启动 spork。
有没有办法在不重新启动 spork 的情况下更改 Capybara 驱动程序?
我尝试过的事情
[1] 在 features/support 中添加了包含驱动程序代码的模块,并在 Spork 的each_run 中引用了该模块。它不起作用并抛出错误。
[2] 使用each_run 更改驱动程序在spork 重新启动之前不会注册更改。
Spork.each_run do
Capybara.javascript_driver = :poltergeist
end
最佳答案
想通了。 Capybara's github page有一些这方面的信息。这是我所做的:
将以下代码添加到features/support/hooks.rb
Before('@javascript') do
Capybara.current_driver = :poltergeist
end
可以随时更改此设置,无需重新启动 Spork。我无法找到将其放置在each_run block 中的方法。
关于ruby-on-rails - 更改 capybara 驱动程序而不重新启动 spork,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908196/