2

我正在使用 Cucumber 和 Capybara 为我的 Rails 应用程序运行集成测试。我还使用 Spork 进行更快的测试运行。Capybara 支持selenium和 the headless poltergeist。无头浏览器有利于更快的测试运行,但有时我还需要查看浏览器显示的内容。这导致我更改 Capybara 驱动程序并重新启动 spork。

有没有办法在不重新启动 spork 的情况下更改 Capybara 驱动程序?

我尝试过的事情

[1] 在 features/support 中添加了一个包含驱动程序代码的模块,并在 Spork 的 each_run 中引用了该模块。它不起作用并引发错误。

[2] 在 spork 重新启动之前,使用 each_run 更改驱动程序不会注册更改。

Spork.each_run do
  Capybara.javascript_driver = :poltergeist
end
4

1 回答 1

2

弄清楚了。Capybara 的 github 页面对此有一些信息。这是我所做的:

将以下代码添加到features/support/hooks.rb

Before('@javascript') do
  Capybara.current_driver = :poltergeist
end

这可以随时更改,无需重新启动 Spork。我无法想出将其放置在 each_run 块中的方法。

于 2012-06-07T10:49:28.007 回答