升级到 Capybara 2.1 和 Poltergeist 1.5.0 后,我们在 JS 测试中获得了 ActionController::RoutingError for "/my/image.p



我们从Capybara 1.1.4和Poltergeist 1.0.2升级。Phantomjs在整个版本中保持1.8.1。

js测试,渲染页面的页面 <img src="/my/image.png">会因上述错误而失败,在此之前,他们没有失败。

该文件确实不存在。这是为测试生成的假路径,可悲的是,将其制作成真实的文件并不小(但最终应该完成)。

我们的解决方案/解决方法是配置poltergeist不要渲染图像:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, phantomjs_options: ["--load-images=no"])
end

这样,它不会提出这些请求,也不会触发这些错误。

大概是Capybara或Poltergeist的旧版本以某种方式吞没了这种错误 - 也许不加载图像,也许是其他方式。

这不是一个优雅的解决方案,但似乎并不比以前发生的任何隐性吞咽更糟糕。

相关内容

  • 没有找到相关文章

最新更新