Capybara:第一次测试超时,并显示"无法访问服务器,检查DNS和/或服务器状态",所有其他测试工作正常



我维护Spree/Solidus Rails平台的几个扩展名,并且由于某种原因,尤其是一个扩展程序,尤其是我有一个Capybara问题i似乎无法追踪。

构建测试环境后, first> the 通过规格运行的测试总是会失败,以下是:

Capybara::Poltergeist::StatusFailError:
   Request to 'http://127.0.0.1:52234/products' failed to reach server,
   check DNS and/or server status - Timed out with no open resource requests

所有后续规格通过。如果我再次运行 bundle exec rspec spec 再次,那么 ales specs pass。

我尝试将Capybara超时值增加到超高数字:

RSpec.configure do |config|
  config.include Spree::TestingSupport::CapybaraHelpers, type: :feature
  Capybara.register_driver(:poltergeist) do |app|
    Capybara::Poltergeist::Driver.new app, timeout: 90
  end
  Capybara.javascript_driver = :poltergeist
  Capybara.default_max_wait_time = 90
end

,但似乎没有效果。

我所有的travis构建在第一次运行的第一个规格上失败(并传递其他所有内容),这使得很难维护项目,因为所有PR看起来都红色。

有什么想法在这里发生什么?

很可能是在第一个请求以资产管道处理资产管道时失败的。在进行测试之前,请尝试将测试模式资产进行预编译,或者更多地增加驾驶员注册中的超时。Capybara.default_max_wait_time完全不应影响这一点。

最新更新