2016-07-07 33 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? %> 
相關問題