Команда Maven mvn clean verify не активирует Failsafe для запуска интеграционных тестов
Я пытаюсь использовать плагин Maven Failsafe для запуска моих интеграционных тестов, которые находятся в каталоге src/it/java. Я использовал плагин build-helper, чтобы получить ресурсы для тестирования интеграции
Я настраиваю свой отказоустойчивый плагин как...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.0</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<printSummary>true</printSummary>
</configuration>
</plugin>
С моей настройкой плагина build-helper вроде...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>
<directory>src/it/java</directory>
</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-resource</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/it/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
У меня также есть плагин Surefire для запуска моих модульных тестов...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
</plugin>
Когда я выполняю mvn clean verify, только модульные тесты запускаются с уверенностью и отказоустойчивость не запускается, когда я пытаюсь mvn failsafe: проверять, не запускаются ли тесты, когда я пытаюсь mvn build-helper: add-test-sources failsafe: проверять выдает ошибку, что не может найти источники теста.
[ERROR] Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source (default-cli) on project stkweb: The parameters 'sources' for goal org.codehaus.mojo:build-helper-maven-plugin:3.0.0:add-test-source are missing or invalid -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException
Прямо сейчас, если я слегка изменю конфигурацию и положу свои интеграционные тесты в папку src/test/java, он сможет нормально их запустить. Просто мы хотим их в отдельный каталог по причинам дизайна.
1 ответ
Проблема сводилась к использованию <pluginManagement>
тег.
<build>
<pluginManagement>
<plugins>
</plugins>
</pluginManagement>
</build>
Когда я удалил тег pluginManagement, он запустил FailSafe.
<build>
<plugins>
</plugins>
</build>
Это также устранило проблему, которая была у нас с Jacoco, прежде чем мы просто должны были позвонить Jacoco напрямую.