Не без серьезного взлома.Rails делает довольно много проблем, чтобы убедиться, что ваши файлы перезагружаются при каждом запросе (когда cache_classes=false
).Значение переменной конфигурации cache_classes
используется инициализаторами в нескольких местах, не в последнюю очередь из которых:
- , использующих
require
для загрузки файлов ruby, когда cache_classes равен true
(то есть онибольше не перезагружается) - настройка обратных вызовов диспетчера для повторной загрузки приложения при каждом запросе, когда
cache_classes
равно false
У вас есть доступ к значению cache_classes
переменная, и вы можете даже изменить ее, если хотите:
Rails.configuration.cache_classes = true
Но это не повлияет на работающий экземпляр rails, поскольку инициализаторы, в которых это значение используется, запускаются только один раз при запуске приложения rails.
Что это означает, если вы не готовы потратить некоторое серьезное время и усилия на взлом, вы не сможете избежать перезагрузки сервера.Итак, вам нужно посмотреть, как управлять процессом перезапуска через ваш набор тестов.
Например, вы можете попробовать перезапустить rails изнутри rails .Это позволит вам определить действие, которое ваш набор тестов может выполнить непосредственно перед его выполнением (перезапустить сервер в правильном режиме), и другое действие, которое сервер может выполнить после завершения всех тестов, перезапустить все с * 1025.* установить на то, что было раньше.Вы управляете значением классов кеша через переменную окружения , как показано в этом посте .
. Все равно потребуется немного работы, чтобы все это настроить и заставить его зависать вместе,но это, вероятно, ваш лучший выбор, если вы хотите «автоматическое» решение.