«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.

Next »

Quick Guide to the Maven Surefire Plugin

« Previous

Quick Guide to the Maven Install Plugin