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

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

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

  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
<plugin>
     
Pytest 是一个强大的 Python 测试框架,可用于编写简单到复杂的测试用例。通过配置 pytest.ini 文件能够改变命名规则,如设置 `python_files=test_*.py *_test.py`,让文件以 `test_` 开头或者 `_test` 结尾命名,不然将检测不到;还可设置 `python_classes=Test*` 和 `python_functions=test_*` [^5]。 Request 通常指的是 `requests` 库,它是 Python 中用于发送 HTTP 请求的库,在接口自动化测试里,可借助它来模拟各种 HTTP 请求,像 GET、POST 等,以此与接口进行交互。 Allure 是轻量级的测试报告生成工具,能生成美观且详细的测试报告。它支持多种测试框架,例如 Pytest、JUnit 等,可方便地和接口自动化框架集成。Allure 提供了丰富的报告内容,涵盖测试用例执行情况、测试步骤、截图等,有助于开发人员和测试人员更好地了解测试结果 [^2]。在代码里,可使用 `@allure.feature` 和 `@allure.story` 装饰器描述测试的功能和具体的故事或场景,示例如下: ```python import allure @allure.feature('User Management') @allure.story('Login') def test_valid_login(): # 测试代码 pass ``` [^4] Jenkins 是一个开源的持续集成工具,结合 Pytest、Allure 后,能够定时跑测试用例,生成测试报告并发送邮箱,还能关联 Git,自动更新 Git 最新代码。不过对于初次接触 Jenkins 的测试人员,安装 Jenkins 环境和配置 job 等步骤较为繁琐,容易出错 [^1]。 这些框架的集成步骤如下: - **安装 Allure 和 Pytest**:可通过 `pip` 进行安装 [^5]。 - **上传 Allure 插件到 Jenkins**:上传安装好的 `allure-jenkins-plugin` 插件,安装完成且成功后会以蓝色圆点显示。若之前安装过,会提示已安装,此时重启 Jenkins 服务即可生效(注意不是关闭浏览器重新打开) [^3]。 - **配置 Jenkins 任务**:在 Jenkins 里创建一个新的任务,配置 Git 仓库地址,让 Jenkins 能够自动拉取最新代码;配置构建步骤,运行 Pytest 测试用例;配置 Allure 报告生成,让 Jenkins 生成 Allure 测试报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值