解决mvn clean install遇到testng单元测试失败时打包也失败的问题

解决mvn clean install遇到testng单元测试失败时打包也失败的问题

看这个之前请先看这个
Jenkins执行Testng

比如我现在就有一个单元测试失败的项目

执行mvn clean install的时候就会报错

下面是我现在的pom.xml

但我们不希望这样,怎么办

xml 复制代码
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
                <configuration>
<!--                    这个testFailureIgnore就是就算执行失败也可以正常打包的关键-->
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>

新增上面这个配置,即可

再次执行mvn clean install,就算失败了也没问题,照样打包成功

如果要集成jenkins,再加上suiteXmlFiles这个配置

xml 复制代码
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
                <configuration>
<!--                    这个testFailureIgnore就是就算执行失败也可以正常打包的关键-->
                    <testFailureIgnore>true</testFailureIgnore>
                    <argLine>-Dfile.encoding=UTF-8</argLine>
                    <suiteXmlFiles>
                        <!--suppress UnresolvedMavenProperty -->
                        <suiteXmlFile>${xmlFileName}</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>

我们接下来大致讲讲这个surefire

maven-surefire-plugin插件默认会自动执行测试源码包(即test目录下)中遵循以下命名规则的java测试类。

*/Test .java

**/*Test.java

**/*TestCase.java

在Maven构建过程中,测试是其生命周期的一部分,每一个构建过程都会执行项目中的测试用例,如果遇到一个测试失败,默认会停止当前的构建。

如果遇到测试失败时,依然希望继续构建项目,那么需要设置surefire插件的testFailureIgnore属性为true。

相关推荐
CAE虚拟与现实1 天前
什么是浏览器冒烟测试
单元测试·测试·冒烟测试·回归测试
写后端的胖头鱼2 天前
一文学会单元测试之----Junit
junit·单元测试
FungLeo4 天前
成为全栈·Node 后端篇·后端测试策略:单元、集成与测试数据库
单元测试·node.js·集成测试·测试策略·成为全栈·测试数据库
yume_sibai4 天前
09-Rust 测试与质量保证(单元测试 + 集成测试 + Mock + Benchmark + Fuzzing + CI/CD)
rust·单元测试·集成测试
ChampaignWolf5 天前
Joule Unit Test 深度集成:ABAP 单元测试的 AI 六件套全解析
人工智能·单元测试·sap·abap·joule·单元测试ai
川石课堂软件测试5 天前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
半亩码田6 天前
C#转Python第4.5篇:单元测试:pytest vs xUnit/NUnit
python·单元测试·c#
AINative软件工程6 天前
LLM 应用的测试替身工程实践:用 Fake/Stub/Mock 让 AI 代码真正跑起来 CI
单元测试·llm·ai编程
Java小白笔记7 天前
Java 单元测试怎么写:JUnit 5、Mockito 与 Spring Boot 方法级实战
java·junit·单元测试