当我使用maven failsafe插件运行集成测试时遇到了问题。 我有两个类,一个是TestUnitTest.java,另一个是TestIntegrationIT.java。 在pom.xml中,我配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*IT.java</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>unit-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
</plugin>
当我运行mvn:integration-test时,将执行两个测试,当我运行mvn failsafe:integration-test然后只运行“TestIntegrationIT”。为什么输出不同的结果?
答案 0 :(得分:1)
maven-surefire-plugin的包含被定义为* Test,* TestCase,而maven-failsafe-plugin是用 IT.java,IT .java或* ITCase.java定义的。因此,您不需要为maven-surefire-plugin或maven-failsafe-plugin定义包含使用默认值。如果您不想命名集成测试,只需将其命名为NameIT.java,而单元测试可以命名为NameTest.java。 要运行单元测试和/或集成测试,您应该使用lifecylce:
mvn package
将运行单元测试,而
mvn verify
将运行单元测试和集成测试。