«1. Обзор
В этом кратком руководстве описывается подключаемый модуль отказоустойчивости, один из основных подключаемых модулей инструмента сборки Maven.
Обзор других основных плагинов см. в этой статье.
2. Цели плагина
Плагин отказоустойчивости используется для интеграционных тестов проекта. У него две цели:
-
Integration-test — запустить интеграционные тесты; эта цель по умолчанию привязана к фазе интеграционного тестирования. verify — проверка того, что интеграционные тесты пройдены; эта цель привязана к фазе проверки по умолчанию
3. Выполнение цели
Этот плагин запускает методы в тестовых классах так же, как и плагин surefire. Мы можем настроить оба плагина аналогичным образом. Тем не менее, есть некоторые принципиальные различия между ними.
Во-первых, в отличие от surefire (см. эту статью), который включен в super pom.xml, отказоустойчивый плагин с его целями должен быть явно указан в pom.xml, чтобы быть частью жизненного цикла сборки:
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.21.0</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
~~ ~ Самая новая версия этого плагина здесь.
Во-вторых, отказоустойчивый плагин запускает и проверяет тесты с разными целями. Сбой теста на этапе интеграционного тестирования не приводит к немедленному сбою сборки, что позволяет выполнить этап после интеграционного тестирования, на котором выполняются операции очистки.
О неудачных тестах, если таковые имеются, сообщается только на этапе проверки, после того как среда интеграционного тестирования была должным образом удалена.
4. Заключение
В этой статье мы представили плагин отказоустойчивости, сравнив его с плагином surefire, другим популярным плагином, используемым для тестирования.
Полный исходный код этого руководства можно найти на GitHub.