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

相关推荐
我一定会有钱7 小时前
pytest测试框架基础
python·单元测试·自动化·pytest
宋情写8 小时前
单元测试、覆盖率测试-Springboot
spring boot·单元测试·测试覆盖率
卓码软件测评2 天前
第三方APP软件测试机构:【Gatling如何测试移动应用后端API移动网络特性和用户行为模拟】
网络·测试工具·单元测试·测试用例
晚烛2 天前
Flutter + OpenHarmony 质量保障体系:从单元测试到真机巡检的全链路可靠性工程
flutter·单元测试
旺仔Sec2 天前
2025年安徽省职业院校技能大赛(高职组)软件测试赛项规程及竞赛样题(附评分标准)
功能测试·单元测试·压力测试
記億揺晃着的那天4 天前
MyBatis-Plus 单元测试中 Lambda Mock 的坑与解决
单元测试·log4j·mybatis
CeshirenTester5 天前
Playwright元素定位详解:8种定位策略实战指南
人工智能·功能测试·程序人生·单元测试·自动化
行走的陀螺仪5 天前
Vue3 项目单元测试全指南:价值、Vitest 落地与提效方案
开发语言·前端·单元测试·html5·vitest
fzm52986 天前
C语言单元测试在嵌入式软件开发中的作用及专业工具的应用
自动化测试·单元测试·汽车·嵌入式·白盒测试
川石课堂软件测试6 天前
Mysql中触发器使用详详详详详解~
数据库·redis·功能测试·mysql·oracle·单元测试·自动化