【问题标题】:Webfont path, rspec, capybara and poltergeistWebfont 路径、rspec、capybara 和 poltergeist
【发布时间】:2016-07-17 22:26:34
【问题描述】:

我正在将我的 Capybara 测试套件从 capybara-webkit 转换为 poltergeist。

-require 'capybara/webkit'
+require 'capybara/poltergeist'

-Capybara.javascript_driver = :webkit
+Capybara.javascript_driver = :poltergeist

在运行我的测试时,第一个测试失败并显示此消息...

Failure/Error: Unable to find matching line from backtrace
 ActionController::RoutingError:
   No route matches [GET] "/assets/fonts/glyphicons-halflings-regular.ttf"

经过一番调查,我发现了类似的问题here

但是,我手动安装了 bootstrap.css。我按照第二个答案中的建议对路径进行了调整,并且收到了更新路径的相同消息。

经过一段时间和挫折后,我意识到只有我的套件中的第一个测试失败,其余的都通过了。所以很自然地,我删除了第一个测试。现在“新”的第一个测试失败了,其余的都通过了。所以我把它们都删了。现在,他们都没有失败!测试很简单!结束。

是什么让我的第一次测试失败了?为什么其余的都过去了?

应要求提供更多信息。

【问题讨论】:

  • 请发布失败的规范。

标签: ruby-on-rails-4 poltergeist rspec3


【解决方案1】:

有两种可能的解决方案

A.您正在加载图像,但您可能不想这样做(加速测试等)

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app,
    :timeout => 60,
    :phantomjs_logger => File.open(File::NULL), # silence JavaScript console.log
    :phantomjs_options => %w(--load-images=false --ignore-ssl-errors=true),
  )
end

B.规范失败,因为您收到的 404 未找到该资产

# Gemfile
gem 'bootstrap-sass'

然后将其包含在 JavaScript 中

# assets/javascripts/application.js
//= require bootstrap-sprockets

然后将其包含在 CSS 中

# assets/stylesheets/application.scss
@import "bootstrap-sprockets";
@import "bootstrap";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    相关资源
    最近更新 更多