Было бы разумно запускать модульные тесты для каждой сборки, но полностью пропустить этап интеграции интеграции - оставить его на сервере CI?Запуск интеграционных тестов на сервере CI только с использованием maven
В настоящее время я работаю над проектом JavaEE, который охватывает почти только некоторые интеграционные тесты, которые плохо написаны и занимают много времени. Каждый раз, когда я делаю какие-либо изменения, мне приходится ждать несколько минут для сборки (из которых, как и 90% времени, это те интеграционные тесты).
Моей идеей является настройка некоторого сервера CI, например. Дженкинс, чтобы он взял любую фиксацию, сделанную в репозиторий (или даже лучше после сборки maven), и запустил сборку maven с интеграционными тестами. Но возможно ли настроить maven таким образом, чтобы при вводе mvn install
он выполнял компиляционные модульные тесты - строил проект, но полностью исключал фазу интеграции (чтобы ускорить разработку). Тогда CI заберет и снова начнет работу над сборкой, но на этот раз с интеграционными тестами?
Таким образом, время между изменением кода и развертыванием было бы намного короче и менее расстраивающим, и любые ошибки, связанные с интеграцией, будут кэшированы в течение нескольких минут после завершения сборки CI-сервера.
Это хорошая идея? Может ли кто-нибудь предложить, как настроить maven для получения такого поведения?
Спасибо, это именно то, что я искал. Я попробую этот подход, когда у меня будет время на установку. – kajman