【问题标题】:How can I stop css files from being precompiled in rails test environment如何阻止css文件在rails测试环境中预编译
【发布时间】:2016-07-07 19:40:32
【问题描述】:

我正在寻找一种方法来修改我的测试环境,以便预编译 JS 文件但不预编译 CSS (SASS) 文件。

我想这样做的原因是我有一些 capybara 功能规范,这些规范使用 phantomjs 以 js: true 标志运行。这些测试在运行之前需要很长时间,因为我必须在 config/environments/test.rb 中将 config.assets.compile 设置为 true 才能使 JS 功能测试正常工作,而且由于我的 CSS 文件臃肿,CSS 编译需要很长时间。

我尝试将 config.assets.compile 设置为 [/(?:\/|\\|\A)application\.js$/],但我仍然看到 SASS 编译发生。

【问题讨论】:

  • 我认为你可以做 config.assets.precompile -=
  • @ruby_newbie 我试过了,但是当 rspec 使用 js: true 标志到达测试时,我看到动态编译发生在测试中

标签: ruby-on-rails ruby-on-rails-4 sass asset-pipeline


【解决方案1】:

这些是经过反复试验后最终对我有用的设置。另外,最好在测试前运行RAILS_ENV=test rake assets:precompile

# in config/environments/test.rb
config.assets.compile = true
config.assets.digest = true
config.assets.precompile = [/(?:\/|\\|\A)application\.js$/]


# in app/view/layouts/application.html.erb
<%= stylesheet_link_tag "application", media: "all" unless Rails.env.test? %>

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 2012-01-12
    • 2011-06-29
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多