Мы используем maven-surefire-plugin для запуска наших автоматических тестов, и мы пытаемся, чтобы неудачные тесты были перезапущены после того, как все тесты будут выполнены. Наша конфигурация плагина выглядит следующим образом:
Родительский проект:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>${surefire.version}</version>
</dependency>
</dependencies>
<configuration>
<parallel>classes</parallel>
<forkCount>10</forkCount>
<reuseForks>false</reuseForks>
<threadCount>1</threadCount>
<rerunFailingTestsCount>1</rerunFailingTestsCount>
<trimStackTrace>false</trimStackTrace>
<excludes>
<exclude>**/randomPackage/*Test.java</exclude>
</excludes>
<systemPropertyVariables>
<randomSystemProp>true</randomSystemProp>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Дочерний проект:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>
Когдамы выполняем цель чистый тест (или просто тест ), все в порядке, кроме , когда неудачные тесты получают повторный запуск ! Как указано ЗДЕСЬ , при использовании поставщика surefire-junit47 все повторные запуски должны выполняться после завершения всех тестовых классов:
Поставщик surefire-junit47 выполняет все тестовые классы и повторнопотом запускает неудачные тесты.
Мы пытались перенести конфигурацию плагина в дочерний pom, но безуспешно, результаты те же - повторные запуски выполняются сразу после сбоя !
Любая помощь приветствуется! Спасибо!
Редактировать: Используемая версия плагина - 2.22.2, но мы пробовали использовать несколько версий до этого, а также последнюю версию 3.0.0-M3.