在 Rspec 的测试环境中禁用 css

Disable css in test environment for Rspec

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

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

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

<% unless Rails.env.test? %>
  <%= stylesheet_link_tag    "application", :media => "all" %>
<% end %>