Горячая перезагрузка с тестами. игровая рамка как?

Так что я в настоящее время нахожусь в проекте, где мы используем Java playframework 2.3.7 с активатором. Одна из вещей, которые мне понравились в playframework - это функция горячей перезагрузки. Я могу изменить сохранение Java-файлов, а изменения компилируются и обновляются во время выполнения.

Как получить эту функциональность, но для тестирования? Я хочу иметь возможность запустить один тест с этой функцией горячей перезагрузки, чтобы при сохранении. Тесты для данного файла (заданные только для теста) перезапускаются автоматически.

2 ответа

Нет такого решения, однако у вас есть два варианта:

  1. Используйте IntellJ: чтобы повторно запустить предыдущий тест (ы) в IntellJ, вы нажимаете shift + F10,

  2. Напишите наблюдателя: напишите здесь наблюдатель файла / каталога, такой как этот вопрос / ответ, и затем, как только произойдут изменения, программа повторно запустит команду тестирования, такую ​​как sbt clean compile test или же activator compile test,

Небольшой совет по автоматическому запуску тестов: я не знаю, насколько сложным является ваше приложение, но как только вы сделаете несколько инъекций здесь и там и с дополнительным параллелизмом; Вы не хотите запускать тесты, как только char в.

Небольшой совет по разработке через тестирование: ваш подход должен быть наоборот! Вы пишете тест, который не проходит, потому что нет реализации; тогда оставь это в покое. Вы идете и пишете реализацию, затем повторно запускаете тест, чтобы пройти его или получить отзыв. Опять же, вам нужна мощность процессора / памяти, чтобы сосредоточиться на чем-то одном, вы не хотите грубой силы своей реализации. Надеюсь, что это имеет смысл!

Небольшой совет по поводу вашей версии Play: Play 2.6 намного лучше, чем Play 2.3; Вы должны медленно, но верно обновлять свое приложение; по крайней мере, ради безопасности.

Итак, я нашел то, что искал. Для тех, кому нужна эта особенность в той или иной версии игры (я не уверен насчет других версий), что вам нужно сделать, это действительно просто. запустить активатор и поставить ~ префикс перед тестом. например

#activator
[my-cool-project]~test

Это перезагрузит ваши тесты, когда вы внесете изменения. если вы хотите сделать это для определенного теста, то вы должны сделать то же самое, но только с тестом

#activator
[my-cool-project]~test-only MyCoolTest

надеюсь, это поможет любому, кто ищет то же самое

Другие вопросы по тегам