1

我正在使用 rails 4 和 rspec 与 capybara 进行测试。我想在我的测试环境中禁用 css。我怎样才能做到这一点?谁能帮我。

4

2 回答 2

2

最简单的方法 - 跳过 /app/views/layouts/application.html.erb 中为测试环境加载的 CSS 文件:

<% unless Rails.env.test? %>
  <%= stylesheet_link_tag    "application", :media => "all" %>
<% end %>
于 2015-03-15T02:29:41.707 回答
0

Capybara 允许您将加载的特定 URL 列入黑名单。您可以利用此功能阻止加载 CSS 文件。例如,如果您的 CSS 是从 /assets/application.css 加载的:

RSpec.configure do |config|
  config.before(:each, js: true) do
    page.driver.browser.url_blacklist = [
      "http://127.0.0.1:#{page.server.port}/assets/application.css"
    ]
  end
end

您可以通过打开 Capybara 的调试来确认正在加载哪些资产。要启用调试,只需将驱动程序设置:webkit_debug:webkit

Capybara.javascript_driver = :webkit_debug
于 2015-02-25T17:43:14.620 回答