本文最后更新于:2024年5月11日 下午
Pytest 执行过测试任务后我们需要查看整体测试情况,本文记录使用 pytest 生成测试报告的几种方法。
简介
- Pytest 生成测试报告有几种方法,本文以
mtutils库中的测试代码为例,分别尝试几种测试报告的使用
ResultLog
- pytest 自带测试报告输出功能
- 该功能在 pytest 6.1 以后的版本中被删除
使用方法
- 在 pytest 命令中加入参数
1 | |
示例
1 | |
pytest-HTML
- pytest-HTML 是一个 python 包,用于生成 pytest 测试结果的HTML报告
安装测试包
1 | |
使用方法
- 在 pytest 命令中加入参数
1 | |
示例
1 | |
- 在浏览器打开该文件

JunitXML
- 可以选择生成 XML 文件显示日志
使用方法
- 在 pytest 命令中加入参数
1 | |
示例
1 | |
- 得到 xml 文件
1 | |
- 在 wps 中打开

allure
-
是一款可以生成测试报告的工具
-
需要java 环境
配置 java 环境
-
安装 jdk 包
-
测试是否安装成功,执行
1 | |
返回java 版本表示 java 环境配置成功
1 | |
下载 allure
- 下载地址: https://github.com/allure-framework/allure2/releases
- 选择 zip 包下载并解压到一个目录
- 配置 bin 文件夹到系统环境变量
- 测试是否安装成功,在终端执行
1 | |
正常返回 allure 版本表明配置成功
1 | |
安装 allure 包
1 | |
使用方法
- 生成 allure 报告内容,在 pytest 命令中加入参数
1 | |
- 生成报告内容后,用 allure 命令解析并查看报告
1 | |
示例
- 生成 allure 测试报告到
reports/allure文件夹
1 | |
- 显示 allure 报告
1 | |
- 报告效果

Coverage
- Coverage 包可以辅助 pytest 查看代码运行级别的覆盖率并生成直观的 html 测试报告
- pytest-cov 是pytest的一个插件,其本质是引用 python coverage 库用来统计代码覆盖率
- 新版 pytest 默认已经自带,手动安装
1 | |
使用方法
- 在 pytest 命令中加入
--cov=.\code\参数,用于统计制定文件夹中的代码运行覆盖率,该参数指向的是被测试的代码,不是测试代码 - 在 pytest 命令中加入
--cov-report=html参数输出 html 报告
示例
- 以
mtutils库中的测试代码为例
1 | |
- 运行完成后生成了
htmlcov文件夹,其中包含了覆盖率的 html 网页报告 - 报告效果

- 点击指定文件可以查看代码运行覆盖情况

- 红线表明未被覆盖到的代码
参考资料
- https://www.jianshu.com/p/8fa34a3c82bd
- https://blog.csdn.net/yt1318519610/article/details/110918677
- https://www.csdn.net/tags/MtTaEg3sMzY1NTQ5LWJsb2cO0O0O.html
- https://www.cnblogs.com/sophia-985935365/p/10767311.html
- https://blog.csdn.net/LANNY8588/article/details/99703841
文章链接:
https://www.zywvvd.com/notes/coding/python/python-pytest/report/pytest-report/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
Python 测试框架 pytest —— 生成测试报告
https://www.zywvvd.com/notes/coding/python/python-pytest/report/pytest-report/