java - mvn 集成测试与 mvn 故障安全 :integration-test

标签 java maven maven-failsafe-plugin

当我使用 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 failuresafe:integration-test 时,将仅运行“TestIntegrationIT”。为什么输出不同的结果?

最佳答案

包含maven-surefire-plugin定义如 *Test、*TestCase 而 maven-failsafe-plugin使用 IT.java、IT.java 或 *ITCase.java 定义。因此,您不需要为 maven-surefire-plugin 或 maven-failsafe-plugin 定义包含,使用默认值。如果您不想命名集成测试,只需将其命名为 NameIT.java,而单元测试可以命名为 NameTest.java。 要运行单元测试和/或集成测试,您应该使用生命周期:

mvn package

它将运行单元测试,而

mvn verify

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

关于java - mvn 集成测试与 mvn 故障安全 :integration-test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12136827/

相关文章:

java - Maven部署打包并上传到AWS-Lambda

java - 如何减少图表引擎中饼图的边距大小?

java - 如何以编程方式访问类的 javadoc?

maven - 阻止单元测试但允许在 Maven 中进行集成测试

java - 阻止 spring boot 执行故障安全插件

maven - 故障安全集成测试期间的错误不会导致失败的Maven构建

java - 如何打印一个字符串而另一个字符串继续打印?

java - 父 pom.xml 的包装无效,必须为 "pom"但为 "ear"

java - 在 Heroku 上扩展 Spring

java - maven-shade-plugin 不会替换原来的 jar