0

我在使用 maven 故障安全插件运行集成测试时遇到了问题。我有两个类,一个是 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”。为什么输出不同的结果?

4

1 回答 1

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

将运行单元测试和集成测试。

于 2012-08-27T06:03:32.580 回答