51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python 测试框架 pytest —— 生成测试报告

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 版本表示 java 环境配置成功

下载 allure {#下载-allure}

正常返回 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.zywvvd.com/notes/coding/python/python-pytest/report/pytest-report/

赞(0)
未经允许不得转载:工具盒子 » Python 测试框架 pytest —— 生成测试报告