Junit5 + Jenkins + Allure 继承单元测试报告

本文不介绍Junit5、Jenkins和Allure的基本安装,而是着重讨论在实际工程中遇到的问题及解决方案。包括Spring-Boot与Junit5的兼容性问题,Jenkins不生成Allure报告的处理,以及如何自定义Allure结果路径、生成历史趋势图。通过理解Allure报告的生成原理,可以更好地管理和优化单元测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于这三个组件的安装网上文档很多,官方文档也很详细,这里就不演示了,本文主要讲解使用工程的的坑和解决方案。
这里给几个友情链接:

  1. spring-boot 继承Allure :Allure Junit5
  2. jenkins 安装Allure插件 :Allure Jenkins
  3. Allure本地图表没有历史趋势图解决:Allure 本地生成趋势图

看看效果:
在这里插入图片描述

采坑记录

  1. spring-boot版本和Junit5兼容问题
    我们公司spring-boot版本2.15,默认支持junit4。如果使用Junit5,本地执行没问题。当junit5使用mvn test时,单元测试不执行。
    解决办法:
    加入:maven-surefire-plugin 并且版本大于:2.22.0
<p
### 如何在Jenkins中集成Allure报告 为了实现测试结果可视化并提高持续集成流程中的透明度,在Jenkins中集成了Allure报告是一个不错的选择。以下是具体操作方式: #### 安装必要的插件 确保安装了`Allure Jenkins Plugin`,这可以通过访问Jenkins的管理页面,进入“Manage Plugins”,找到对应的插件完成安装过程[^1]。 #### 配置项目构建环境 对于基于Java开发的应用程序来说,通常会利用Maven或Gradle作为构建工具。如果采用的是Maven,则可以在项目的pom.xml文件里加入如下配置来支持生成Allure格式的结果数据: ```xml <build> <plugins> <!-- other plugins --> <plugin> <groupId>io.qameta.allure</groupId> <artifactId>allure-maven</artifactId> <version>2.9</version> <configuration> <reportVersion>2.8.0</reportVersion> </configuration> </plugin> </plugins> </build> ``` 而对于使用Gradle的情况,可以向`build.gradle`添加依赖项以及任务定义: ```groovy dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' runtimeOnly 'org.junit.jupiter:junit-jupiter-engine' // Allure dependencies testImplementation "io.qameta.allure:allure-java-commons:${versions.allure}" } tasks.withType(Test) { useJUnitPlatform() systemProperty 'junit.jupiter.extensions.autodetection.enabled', true finalizedBy tasks.named('allureReport') } ``` 上述设置使得每次执行单元测试时都会自动生成相应的Allure XML文件用于后续处理[^2]。 #### 更新Jenkins Job配置 回到Jenkins界面编辑目标Job,在Post-build Actions部分增加一项名为"Allure Report"的新条目,并指定之前由构建过程中产生的XML路径给它解析成HTML形式展示出来。一般情况下,默认位置可能是类似于`${WORKSPACE}/target/allure-results`这样的目录结构[^3]。 通过以上几个步骤的操作就可以成功地让Jenkins能够识别到运行过的自动化测试案例并将它们转换为易于理解的图表化报表供团队成员查看分析了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值