mvn отказоустойчивый: интеграционный тест

Я использую maven 2, а интеграционный тест находится в файлах * IT.java. Когда я запускаю команду mvn failsafe:integration-test, запуск теста интеграции проходит нормально. Но когда я запускаю mvn integration-test, мои интеграционные тесты не выполняются. Как удалить префикс failsafe:?

В pom.xml я использую:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.12</version>
    <executions>
        <execution>
        <phase>integration-test</phase>
        <goals>
            <goal>integration-test</goal>
            <goal>verify</goal>
        </goals>
        </execution>
    </executions>
</plugin>

ОБНОВЛЕНИЕ
Я также попытался выполнить настройку pom.xml, а затем mvn clean verify. Я получил только достоверный отчет о тестах JUnit. В выходных данных консоли по-прежнему отсутствует интеграционный тест JUnit.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.12</version>
    <executions>
        <execution>
            <id>failsafe-integration-tests</id>
            <phase>integration-test</phase>
            <goals>
                <goal>integration-test</goal>
            </goals>
        </execution>
        <execution>
            <id>failsafe-verify</id>
            <phase>verify</phase>
            <goals>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Теперь я связал отключение юнит-тестов с настройками плагина:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <!-- Disable unit tests -->
        <skip>true</skip>
    </configuration>
</plugin>

Когда я запускаю mvn clean verify мой отказоустойчивый тест интеграции! Но почему он не работает вместе с верным юнит-тестом? Любая идея?


comment
Где ты это определил? в области сборки или в области управления плагинами?   -  person khmarbaise    schedule 09.08.2012
comment
Вы явно указали фазу? Я помог кому-то еще с похожей проблемой, и добавление фазы помогло. Цель должна быть привязана к фазе integration-test по умолчанию в соответствии с документами, но она не работала, пока фаза не была добавлена ​​явно.   -  person user944849    schedule 09.08.2012
comment
Чтобы запустить интеграционные тесты, вы должны вызвать фазу жизненного цикла: Verify. Если вы вызываете интеграционное тестирование жизненного цикла, этап постинтеграционного тестирования отсутствует (maven.apache.org/guides/introduction/). А вы используете JUnit или TestNG?   -  person khmarbaise    schedule 10.08.2012


Ответы (1)


У вас есть неудачные модульные тесты?

Когда вы делаете mvn failsafe:integration-test, вы явно вызываете отказоустойчивость, но когда вы делаете mvn integration-test, вы вызываете фазу, поэтому выполняются модульные тесты, и, в случае сбоя модульных тестов, фаза интеграции никогда не достигается. Это объясняет, почему mvn clean verify работает, когда вы пропускаете выполнение модульных тестов при настройке.

person diegomtassis    schedule 11.03.2014