一、pytest如何生成测试报告?

pytest 是一个流行的 Python 测试框架,可以用于编写和运行各种类型的测试。与基于 unittest 的传统测试框架相比,pytest 更加灵活和易于使用,并且支持各种插件扩展功能。同时,pytest 还提供了生成测试报告的功能,可以帮助开发者更好地理解测试结果并进行测试用例管理。

pytest 生成测试报告可以使用多个插件,常用的插件有 pytest-html、pytest-json、pytest-xdist 等,这些插件可以将测试结果输出到 HTML、JSON 和 XML 等格式的文件中,也可以在命令行终端中显示测试结果摘要。其中,pytest-html 插件是最常用的生成 HTML 格式测试报告的插件,因此下面将以 pytest-html 为例进行介绍。

1.安装 pytest-html 插件

在使用 pytest-html 插件生成测试报告之前,需要先安装此插件。可以通过 pip 工具进行安装,执行以下命令即可:

1 pip install pytest-html

2.运行 pytest 并生成测试报告

安装完 pytest-html 插件后,在运行 pytest 时添加 --html 选项即可生成测试报告。例如,执行以下命令可以运行当前目录下所有以 test_ 开头的测试文件,并将测试结果保存为 report.html 文件:

1 pytest --html=report.html

执行完毕后,pytest 会自动运行所有测试用例,并生成 report.html 文件。如果想要将报告保存到指定文件夹,可以使用以下命令:

1 pytest --html=./report/report.html

这样就会将测试报告保存到 report 文件夹下的 report.html 文件中。

3.查看测试报告

生成测试报告后,可以通过浏览器来查看报告内容。以 Chrome 浏览器为例,找到 report.html 文件并双击打开,在浏览器中即可查看测试报告。测试报告通常包含测试结果摘要、测试用例详细信息、测试用例执行时间、错误信息等内容,具体格式和内容可以根据 pytest-html 的配置设置和测试用例编写情况进行调整。

二、pytest如何进行测试报告的查看?

在浏览器中打开测试报告文件(如 report.html)即可查看测试报告。测试报告通常包含测试结果摘要、测试用例详细信息、测试用例执行时间、错误信息等内容,可以帮助开发者快速了解测试状态、测试用例的覆盖情况以及错误信息,从而提高测试效率和测试质量。

三、可以通过哪些配置进行测试报告的设置?

pytest-html 插件提供了多个配置项,可以帮助开发者自定义测试报告的生成方式和输出格式。例如,可以通过以下配置项来设置报告生成路径、报告标题、报告头部信息和报告底部信息等内容:

1.报告生成路径

可以使用 --html 选项来设置报告的生成路径,例如:

1 pytest --html=./report/report.html

2.报告标题

可以使用 --title 选项来设置报告的标题,例如:

1 pytest --html=./report/report.html --title="My Test Report"

3.报告头部信息

可以使用 --header 选项来设置报告的头部信息,例如:

1 pytest --html=./report/report.html --header="

My Test Report

"

4.报告底部信息

可以使用 --footer 选项来设置报告的底部信息,例如:

1 pytest --html=./report/report.html --footer="

Generated by pytest-html

"

还可以通过其他配置项来设置样式、截图、饼图和条形图等内容。此外,pytest-html 还支持多语言、多浏览器显示和多种结果类型输出等功能,极大地提高了测试报告生成效率和质量。

四、pytest生成测试报告的完整流程

接下来,我们将通过一个简单的示例来介绍如何使用 pytest-html 插件生成测试报告。假设我们有一个名为 calc.py 的文件,其中包含了两个函数 add() 和 subtract(),用于实现两个数的加减运算。我们编写了一组测试用例(test_calc.py)来测试这两个函数,代码如下:

1 2 3 4 5 6 7 8 9 10 import pytest from calc import add, subtract def test_add():     assert add(2, 3) == 5     assert add(3, 4) == 7 def test_subtract():     assert subtract(5, 2) == 3     assert subtract(9, 4) == 5

在这个测试用例中,我们使用了 pytest 测试框架和 assert 语句来对 add() 和 subtract() 函数进行测试。现在,我们想要使用 pytest-html 插件来生成测试报告,步骤如下:

1.安装 pytest-html 插件

在命令行中执行以下命令来安装 pytest-html 插件:

1 pip install pytest-html

2.运行 pytest 并生成测试报告

在命令行中运行以下命令来执行测试用例并生成测试报告:

1 pytest --html=report.html

3.查看测试报告

在浏览器中打开 report.html 文件即可查看测试报告。测试报告将显示测试结果摘要、测试用例详细信息、测试用例执行时间、错误信息等内容。

五、Pytest生成的测试报告解读

pytest 生成的测试报告通常包含以下几个部分:

1.报告头部信息

报告头部信息通常包括报告标题、生成时间、测试用例总数和执行时间等内容。例如:

1 2 3

My Test Report

Generated on 2023-06-17 01:30:41

2 tests ran in 0.01 seconds

2.测试结果摘要

测试结果摘要是测试报告的重要部分,可以帮助开发者快速了解测试状态和测试覆盖情况。测试结果摘要通常包括以下几个部分:

总体结果:总共运行了多少个测试用例,多少个测试用例通过了,多少个测试用例失败了。测试类别:测试用例按照功能模块或者测试类型进行分类,例如单元测试、集成测试、性能测试等。测试耗时:每个测试用例的执行时间以及整体执行时间。

例如:

Test Summary ------------- passed: 2 failed: 0 Total time: 0.01s

3.测试用例详细信息

测试用例详细信息通常包括测试用例名称、测试用例执行结果、测试用例执行时间、测试用例附加信息(如果有)、错误信息等内容。例如:

test_add (test_calc.py::test_add) Passed in 0.001s

test_subtract (test_calc.py::test_subtract) Passed in 0.002s

4.错误信息

如果测试用例执行失败,测试报告将会显示错误信息、错误原因和错误堆栈等内容,帮助开发者快速定位问题并进行修复。例如:

test_add (test_calc.py::test_add) E   AssertionError: assert add(2, 3) == 6 E    +  where add(2, 3) = 5

六、总结

本文介绍了如何使用 pytest-html 插件生成测试报告,并提供了详细的操作步骤、配置项和示例代码。通过生成测试报告,可以帮助开发者更好地理解测试结果并进行测试用例管理,从而提高软件质量和开发效率。同时,也可以扩展 pytest 的其他功能和插件来满足不同的测试需求。

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

分享他们的经验,还会分享很多直播讲座和技术沙龙

可以免费学习!划重点!开源的!!!

qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: