gpt4 book ai didi

ruby-on-rails - Capybara:第一次测试超时 'failed to reach server, check DNS and/or server status' ,所有其他测试工作正常

转载 作者:行者123 更新时间:2023-12-04 05:47:09 24 4
gpt4 key购买 nike

我为 Spree 维护了几个扩展名/Solidus Rails 平台,出于某种原因,特别是在一个扩展上,我遇到了 Capybara 问题,我似乎无法追踪。

一旦我构建了一个测试环境,第一次运行规范的第一次测试总是失败,如下:

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再次,然后所有规范通过。

我尝试将 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 看起来都是红色的。

任何想法可能会发生什么?

最佳答案

当 Rails 在第一次请求时处理 Assets 管道时,这很可能会失败。在运行测试之前尝试预编译测试模式 Assets ,或者进一步增加驱动程序注册的超时时间。 Capybara.default_max_wait_time 根本不应该影响这一点。

关于ruby-on-rails - Capybara:第一次测试超时 'failed to reach server, check DNS and/or server status' ,所有其他测试工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47894222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com