Pytest 执行过测试任务后我们需要查看整体测试情况,本文记录使用 pytest 生成测试报告的几种方法。
简介 {#简介}
- Pytest 生成测试报告有几种方法,本文以
mtutils
库中的测试代码为例,分别尝试几种测试报告的使用
ResultLog {#ResultLog}
- pytest 自带测试报告输出功能
- 该功能在 pytest 6.1 以后的版本中被删除
使用方法 {#使用方法}
- 在 pytest 命令中加入参数
示例 {#示例}
pytest-HTML {#pytest-HTML}
- pytest-HTML 是一个 python 包,用于生成 pytest 测试结果的HTML报告
安装测试包 {#安装测试包}
使用方法 {#使用方法-2}
- 在 pytest 命令中加入参数
示例 {#示例-2}
- 在浏览器打开该文件
JunitXML {#JunitXML}
- 可以选择生成 XML 文件显示日志
使用方法 {#使用方法-3}
- 在 pytest 命令中加入参数
示例 {#示例-3}
- 得到 xml 文件
- 在 wps 中打开
allure {#allure}
-
是一款可以生成测试报告的工具
-
需要java 环境
配置 java 环境 {#配置-java-环境}
-
安装 jdk 包
-
测试是否安装成功,执行
返回java 版本表示 java 环境配置成功
下载 allure {#下载-allure}
- 下载地址: https://github.com/allure-framework/allure2/releases
- 选择 zip 包下载并解压到一个目录
- 配置 bin 文件夹到系统环境变量
- 测试是否安装成功,在终端执行
正常返回 allure 版本表明配置成功
安装 allure 包 {#安装-allure-包}
使用方法 {#使用方法-4}
- 生成 allure 报告内容,在 pytest 命令中加入参数
- 生成报告内容后,用 allure 命令解析并查看报告
示例 {#示例-4}
- 生成 allure 测试报告到
reports/allure
文件夹
- 显示 allure 报告
- 报告效果
Coverage {#Coverage}
- Coverage 包可以辅助 pytest 查看代码运行级别的覆盖率并生成直观的 html 测试报告
- pytest-cov 是pytest的一个插件,其本质是引用 python coverage 库用来统计代码覆盖率
- 新版 pytest 默认已经自带,手动安装
使用方法 {#使用方法-5}
- 在 pytest 命令中加入
--cov=.\code\
参数,用于统计制定文件夹中的代码运行覆盖率,该参数指向的是被测试的代码,不是测试代码 - 在 pytest 命令中加入
--cov-report=html
参数输出 html 报告
示例 {#示例-5}
- 以
mtutils
库中的测试代码为例
- 运行完成后生成了
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/