抑制 PhantomJS 错误输出

Suppressing PhantomJS error output

我正在使用 Poltergeist 在 Capybara 中进行 运行 Cucumber 测试,我在一些测试中看到 Function.prototype.bind 的 PhantomJS 错误。 (垫片由于某种原因不工作。)我想抑制 phantom 的输出。

我试过了

Capybara.register_driver :poltergeist do |app|
  options = {
    :debug => false,
    :js_errors => false,
    :phantomjs_options => ['--debug=no'],
  }
  Capybara::Poltergeist::Driver.new(app, options)
end

但我仍然看到堆栈跟踪。有没有不同的方式告诉 phantom 我不想在 STDOUT 中看到任何异常?

我最终通过将 :phantomjs_logger 设置为 Logger.new("/dev/null")

解决了这个问题

很明显,将输出转储为 null 会使恶作剧超时。

但是,使用 StringIO.new 确实有效。