解决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。

相关推荐
晓晓hh6 小时前
JavaWeb学习——JUnit和日志
学习·junit·单元测试
测试员周周7 小时前
【AI测试系统】第1篇:LangGraph 实战:用 State Graph 搭建 AI测试流水线(4 步编排 + RAG 增强 + 完整代码)
linux·windows·python·功能测试·microsoft·单元测试·多轮对话
汽车仪器仪表相关领域1 天前
Kvaser Memorator Light HS v2:单通道 CAN FD 便携记录仪,即插即用的故障诊断利器
运维·服务器·数据库·人工智能·功能测试·单元测试
QH139292318802 天前
Rohde & Schwarz FSWX3044 FSWX3026信号与频谱分析仪
网络·功能测试·单元测试·集成测试·模块测试
川石课堂软件测试2 天前
AI如何赋能软件测试行业的发展
人工智能·python·功能测试·网络协议·单元测试·测试用例·prometheus
seabirdssss3 天前
以登录功能理解单元测试、集成测试、系统测试和用户测试
单元测试·集成测试
琪露诺大湿3 天前
VeloQueue-测试报告
java·开发语言·消息队列·单元测试·项目·测试报告
胡利光4 天前
Harness Engineering 02|Repo Harness:让仓库对 Agent 可读
java·junit·单元测试
Elastic 中国社区官方博客4 天前
使用 EDOT Browser 和 Kibana 进行 OpenTelemetry 浏览器端埋点
大数据·服务器·数据库·elasticsearch·搜索引擎·单元测试·可用性测试