Ранее на этой неделе у меня было много трудностей Откат свойства проекта, что изменения Clover, когда он работает (так что это не будет мешать последующих плагинов):Как сделать тесты интеграции с помощью Clover?
How to revert Maven project.build variables after Clover plugin finishes?
Я решил эту проблему за счет экономии эти свойства, когда Maven запускает и использует сохраненные переменные в моих плагинах вместо тех, которые Clover изменяет.
Теперь, когда я могу разместить файл WAR без инструментов, на этапе предварительной интеграции, мои тесты могут успешно выполняться и проходить (ранее я не смог запустить приложение из инструментального файла WAR так как Clover не был на пути класса release).
К сожалению, я обнаружил, что жизненный цикл разветвленного клевера продолжается за пределами испытательной фазы. После того, как мои тесты пройдут, а встроенный экземпляр Tomcat отключится, исходный жизненный цикл снова запускает плагин Tomcat7, запускает сервер и повторно запускает тест.
Я могу жить с ним, выполняя мои юнит-тесты в два раза (это может уловить ошибки на кромке, которые появляются только с или без инструментов для клевера), но выполнение моих тестов интеграции в два раза совершенно необязательно. Эти тесты не затрагивают производственный код (они используют Selenium для автоматизации тестирования UI против него в браузере). Как уже упоминалось, инструмент WAR WAR не работал в любом случае, поэтому его больше нет, когда выполняются тесты интеграции. Нет абсолютно никакой причины, чтобы эти тесты снова запускались.
Как я могу сообщить Clover о завершении жизненного цикла forked после завершения фазы тестирования, чтобы тесты интеграции выполнялись только один раз? В настоящее время я могу включить его только для всего жизненного цикла или вообще не использовать.
Обновление: Я обнаружил, что даже если я отключу плагин Clover, перейдя в -Dmaven.clover.skip = true, он все равно будет вилка жизненного цикла. Единственный способ, который я нашел, чтобы предотвратить это, - полностью закомментировать плагин Clover, чтобы у него не было возможности развернуть жизненный цикл, прежде чем пропустить инструментарий.
Мы по-прежнему хотели бы раскошелиться на жизненный цикл и дважды запустить тесты устройства (согласно http://stackoverflow.com/questions/15795840/maven-runs-unit-tests-twice-with-clover-plugin) , Однако, используя clover2: test-test (как вы предложили на http://stackoverflow.com/questions/25984565/how-to-revert-maven-project-build-variables-after-clover-plugin-finishes) на самом деле решает мою проблему и сохраняет тесты интеграции только один раз (по желанию). Не могли бы вы обновить этот ответ, чтобы упомянуть об этом, чтобы я мог его принять? –