我使用maven surefire并需要排除我的集成测试。我的项目布局是非标准的,我有src / main / com,src / test / com和src / integration / com。
默认情况下,当我运行测试目标时,运行集成测试和单元测试。我想排除集成测试......我累了:
<excludes><exclude>**/integration/*</exclude></excludes>
但这导致没有测试运行。然后我为测试添加了一个包含,但仍然没有运行测试:
<includes><include>**/test/*</include></includes>
执行的第一个集成是在src / integration / com ...
下此外,如果重要的是这个项目是一个子项目,那么可能会影响要排除的路径吗?
关于我为什么不能排除这些集成测试的任何指示?
答案 0 :(得分:0)
包含/排除路径在test'src / test / java'的默认配置上是相对的。 你不能有两个测试来源,但你应该使用这个替代方案:
<testSourceDirectory>src/test/com</testSourceDirectory>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>TO DO</version>
<executions>
<execution>
<id>add-integration-test-sources</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/integration/com</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>