Заставить звездочки собрать актив во время теста

У меня есть собственный двигатель звездочек и тест (rspec). Спецификация просматривает /assets/application.js, а затем проверяет содержимое. Я хочу заставить спокеты компилировать (или отображать) актив во время теста, а не извлекать его из tmp / cache или любого другого места, где он, возможно, уже был скомпилирован.

Как мне это сделать? Я не вижу ничего очевидного в коде звездочек, который говорит «игнорировать кеш».

Заранее спасибо, Перри


person pedz    schedule 07.01.2013    source источник


Ответы (2)


Возможно, лучше установить null_store в качестве бэкэнда кеша, чем каждый раз очищать папку tmp. попробуйте что-то подобное в своей тестовой настройке (после инициализации приложения):

Rails.application.assets.cache = ActiveSupport::Cache.lookup_store(:null_store)
person Lucas    schedule 27.01.2013
comment
Превосходно! Позвольте мне попробовать, и я вернусь к вам. Интересно, могу ли я поместить это в файл environment / test.rb? - person pedz; 28.01.2013

В итоге я сделал это:

before(:each) do
  (Rails.root + "tmp/cache").rmtree
end

Следуя предложению, мой код теперь следующий:

before(:each) do
  @original_cache = Rails.application.assets.cache
  Rails.application.assets.cache = ActiveSupport::Cache.lookup_store(:null_store)
end

after(:each) do
  Rails.application.assets.cache = @original_cache
end
person pedz    schedule 27.01.2013