2016-07-07 58 views
0

我正在寻找一种方法来修改我的测试环境,以便JS文件得到预编译,但CSS(SASS)文件没有得到预编译。我怎样才能阻止在rails测试环境中预编译css文件

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

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

+0

我觉得你可以做config.assets.precompile - = <正则表达式来仅排除.scss文件> –

+0

@ruby_newbie我试过了,但我看到了动态编译在测试中发生RSpec的时候达到了与测试'js:true'国旗 – kitwalker

回答

0

这些是经过一些试验和错误后最终为我工作的设置。另外,最好在测试前运行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? %> 
相关问题