У меня есть куча модульных тестов Java, и я хотел бы интегрировать среду непрерывного тестирования в свою кодовую базу. В идеале я хотел бы написать цель Maven/Ant или сценарий bash, который запускал бы тесты всякий раз, когда файлы, которые он просматривает, изменяются. До сих пор я рассматривал несколько вариантов (Infinitest, JUnit Max), но оба они, похоже, хотят работать как плагины IDE.
Моя мотивация использования CLI-инструмента заключается в том, что мои коллеги используют широкий набор текстовых редакторов и IDE, но я хочу убедиться, что каждый может постоянно запускать тесты.
EDIT: я не рассматривал Jenkins или другие более типичные решения CI по нескольким причинам:
- У нас уже есть инструмент сборки CI для запуска модульных и интеграционных тестов после каждого нажатия.
- Они скрывают время выполнения тестов (поскольку они выполняются асинхронно), позволяя тестам становиться все медленнее и медленнее, а люди этого даже не замечают.
- Обычно они запускают тесты только в том случае, если ваш репозиторий находится в каком-то центральном месте. Я хочу, чтобы модульные тесты выполнялись пока я редактирую, а не после того, как я уже куда-то отправил код. Чем раньше я запущу тесты, тем быстрее смогу исправить любую ошибку, допущенную при редактировании. Наша команда разработчиков JavaScript полюбила аналогичный инструмент, указав ускорение в 3 раза для итераций при разработке модульных тестов.