Принудительно перезагружать application_controller при каждом запуске с Spork - PullRequest
4 голосов
/ 13 мая 2011

Я использую Spork для ускорения моих тестов RSpec.К сожалению, мой application_controller.rb не перезагружается при каждом запуске, поэтому мне приходится перезапускать Spork при его изменении.Есть ли способ принудительной перезагрузки при каждом тесте?Я думаю, мне нужна дополнительная строка в Spork.each_run.

Ответы [ 2 ]

0 голосов
/ 12 марта 2013

У меня была такая же проблема, но Spork предназначен для автоматической перезагрузки application_controller.rb без изменений. Так что я копался в этом, и, как упоминалось в комментарии в этом сообщении в блоге , я запустил spork --diagnose. В нем перечислены все файлы, изначально загруженные spork, и указывается, как каждый файл был загружен. Это показало мне, что в моем приложении у меня был инициализатор, который ссылался на подкласс ApplicationController и, следовательно, он загружался изначально. Как только я сломал эту зависимость, мой application_controller.rb начал корректно перезагружаться при каждом запуске теста при использовании Spork.

0 голосов
/ 07 октября 2011

Попробуйте поместить ActiveSupport::Dependencies.clear в блок Spork.each_run.Затем я удалил бы это, когда вы закончите автотестирование application_controller.rb, хотя новая задержка не должна быть слишком плохой.

...