【问题标题】:Upgrade to Rails 4 led to rspec output hanging升级到 Rails 4 导致 rspec 输出挂起
【发布时间】:2013-10-23 13:30:03
【问题描述】:

我已从 Rails 3.2.13 升级到 Rails 4.0.0。我修复了所有弃用警告(secret_base_key 除外),将 database_cleaner、rspec、rspec-rails、capybara、selenium-webdriver 和 poltergeist 升级到最新版本。

现在,当我通过 rake 或 rspec 运行我的规范时,rspec 的输出最终会挂起,总是在功能测试(javascript 测试)上。 test.log 的输出很清楚:测试仍在运行,但控制台没有得到任何更新。

我正在使用:

  • phantomjs 1.9.2.
  • poltergeist 1.4.1

关于如何让我的测试套件再次正常运行的想法?

【问题讨论】:

  • 确定,您没有在代码中留下任何 debugger、pry 或 sleep 语句?
  • 我刚刚检查过了。有一些睡眠语句,但它们最多只有几秒钟。
  • 是否可以将范围缩小到一些测试?
  • 它挂在六个功能测试中的任何一个上,所有测试都是“js: true”。
  • 您的 javascript 驱动程序可能有问题。您是否尝试重新安装它们?你用什么? selenium 还是一些无头驱动程序?

标签: rspec ruby-on-rails-4 capybara rspec-rails


【解决方案1】:

我遇到了同样的问题,但是使用 capybara-webkit。

我在这里找到了解决方案:webkit_server hangs periodically when run from Capybara in Ruby

# Gemfile
group :test do
  gem 'thin'
end

# spec_helper.rb
Capybara.javascript_driver = :webkit
Capybara.server do |app, port|
  require 'rack/handler/thin'
  Rack::Handler::Thin.run(app, :Port => port)
end

【讨论】:

猜你喜欢
  • 2014-08-12
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 2012-02-03
  • 2019-10-04
相关资源
最近更新 更多