efo*_*foo 6 poltergeist ruby-on-rails-4 rspec3
我正在将我的Capybara测试套件从capybara-webkit转换为poltergeist.
-require 'capybara/webkit'
+require 'capybara/poltergeist'
-Capybara.javascript_driver = :webkit
+Capybara.javascript_driver = :poltergeist
Run Code Online (Sandbox Code Playgroud)
在运行我的测试时,第一次测试失败并显示此消息...
Failure/Error: Unable to find matching line from backtrace
ActionController::RoutingError:
No route matches [GET] "/assets/fonts/glyphicons-halflings-regular.ttf"
Run Code Online (Sandbox Code Playgroud)
经过一番调查,我发现类似的问题在这里.
但是,我有一个bootstrap.css的手动安装.我按照第二个答案中的建议调整了路径,并收到了更新路径的相同消息.
经过一段时间和挫折之后,我意识到这只是我套房中的第一次测试失败,其余的都通过了.很自然地,我删除了第一个测试.现在,"新"第一次测试失败,其余测试通过.所以我把它们全部删除了.现在,他们都没有失败!测试很简单!结束.
是什么让我的第一次测试失败?为什么其余的都过去了?
更多信息请求.
对此有两种可能的解决方案
答:您正在加载图像,但您可能不想这样做(加快测试速度等)
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
Run Code Online (Sandbox Code Playgroud)
B. 规范失败,因为您收到 404 未找到该资产
# Gemfile
gem 'bootstrap-sass'
Run Code Online (Sandbox Code Playgroud)
然后将其包含在 JavaScript 中
# assets/javascripts/application.js
//= require bootstrap-sprockets
Run Code Online (Sandbox Code Playgroud)
然后将其包含在 CSS land 中
# assets/stylesheets/application.scss
@import "bootstrap-sprockets";
@import "bootstrap";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |