【问题标题】:Rails/Rspec Tests Failing due to Broken Pipe...?Rails/Rspec 测试因管道破裂而失败...?
【发布时间】:2012-08-14 09:14:19
【问题描述】:

我最近在我的应用程序中更新了一些 gem(不幸的是我没有一一进行),现在我的所有测试都失败了,并出现以下错误:

An error occurred in an after hook
  Errno::EPIPE: Broken pipe
  occurred at /Users/brandon/.rvm/gems/ruby-1.9.3-p194@xxx/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/connection.rb:21:in `write'

我正在使用:

  • 导轨 3.2.7/3.2.8
  • rspec
  • spork
  • postgres
  • 工厂女孩
  • 内存缓存

显然还有很多其他...我可以根据需要提供更多详细信息(我不确定要发布什么)

我也试过了:

RAILS_ENV=test rspec spec

【问题讨论】:

  • 看起来有什么东西导致 capybara-webkit 崩溃。我建议尝试在您的 Gemfile 中指定旧版本(0.11.0?),看看是否有帮助?
  • 感谢奶酪鼬鼠的建议。我会试一试,看看会发生什么。
  • 将水豚降级到 0.11.0 - 没有效果。破管子上的一切仍然失败!
  • 对不起,我没有想法。这个问题:github.com/thoughtbot/capybara-webkit/issues/68 说 Broken pipe 错误意味着 webkit 服务器已崩溃 - “当 webkit_server 二进制文件崩溃时会发生管道损坏,因此它始终表明 capybara-webkit 中存在错误。不幸的是,通常很难找出究竟是什么导致了它崩溃。”,我猜你一定与你最近更新的 gem 有冲突,打开一个问题,看看你是否可以在那里得到一些帮助。
  • 没问题 - 感谢您查看此内容。到目前为止,我对这些神秘错误消息的经验是,它们可能与应用程序中的实际问题完全无关。昨晚我刚刚注意到数据库的扩展发生了一些奇怪的事情,所以我要追查它,看看它是否解决了 Capybara/Rspec 问题。干杯!

标签: ruby-on-rails-3 rspec


【解决方案1】:

尝试在每次测试后添加sleep

我在使用 rspec 进行验收测试时遇到了类似的问题

单独运行时,所有测试都是绿色的。但是当我尝试一次运行所有测试时,它们会在中间的某个地方中断

在每次测试后添加sleep 对我有帮助(但我不知道为什么):

RSpec.configure do |config|
  ...
  config.after(:each, js: true) { sleep 0.1 }
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2017-06-08
    相关资源
    最近更新 更多