Команда 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 напрямую.