Rspec + Capybara可选择更改JS驱动程序

my *_*att 5 selenium rspec ruby-on-rails capybara poltergeist

我使用poltergeist/phantomjs作为CI,但我希望能够选择将JS驱动程序更改为selenium以观察我的本地测试运行.理想情况下,我想为这个默认的恶意攻击者设置一个命令行标志,但能够运行rspec --driver = selenium(或类似的东西)

有任何想法吗?

my *_*att 0

从来没有找到这个问题的答案,所以这是我想出的解决方案:

我发现我唯一可以可靠地改变的是标签系统。所以我调用使用-t视觉标签然后把它拿走。

在spec/spec_helper.rb中

Rspec.configure do |config|
  if config.filter_manager.inclusions[:visual]
    Capybara.javascript_driver = :selenium
    config.filter_manager.inclusions.delete(:visual)
  else
    Capybara.javascript_driver = :poltergeist
  end

~rest of rspec config code~
Run Code Online (Sandbox Code Playgroud)

现在您可以运行测试了。rspec (tests to run) -t visual
主要问题是它会阻止您运行特定的测试。您仍然可以使用单个文件rspec spec/features/signup_spec.rb -t visual,但不能添加:54在特定行号运行。