Python单元测试框架pytest常用测试报告类型

先前博客有介绍pytest测试框架的安装及使用,现在来聊聊pytest可以生成哪些测试报告

1.allure测试报告

关于allure报告参见先前的一篇博文:https://www.cnblogs.com/feng0815/p/13792188.html ,这里不再赘述

2.生成resultlog文件

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:chenshifeng
@file:test_report.py
@time:2021/01/27
"""
class TestReport:
def test_one(self):
x = "shifeng"
assert "feng" in x
def test_two(self):
x = "hello"
assert x == "hi"

执行命令:

pytest test_report.py --resultlog=./resultlog.txt

指定当前路径下生成resultlog.txt文件,打开文件,内容如下:

. reportdemo/test_report.py::TestReport::test_one
F reportdemo/test_report.py::TestReport::test_two
self = <test_report.TestReport object at 0x7fd9c0a3eac0>
def test_two(self):
x = "hello"
> assert x == "hi"
E AssertionError: assert 'hello' == 'hi'
E - hi
E + hello
test_report.py:16: AssertionError

3.生成JunitXML文件

执行命令:

pytest test_report.py --junitxml=./resultlog.xml

同样指定在当前目录下生成resultlog.xml文件,打开文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<testsuites>
<testsuite errors="0" failures="1" hostname="chenshifengdeMacBook-Pro.local" name="pytest" skipped="0" tests="2"
time="0.072" timestamp="2021-01-27T23:56:58.204464">
<testcase classname="reportdemo.test_report.TestReport" file="reportdemo/test_report.py" line="9"
name="test_one" time="0.001"></testcase>
<testcase classname="reportdemo.test_report.TestReport" file="reportdemo/test_report.py" line="13"
name="test_two" time="0.002">
<failure message="AssertionError: assert &apos;hello&apos; == &apos;hi&apos;
- hi
+ hello">self = &lt;test_report.TestReport object at 0x7fa152b97790&gt;
def test_two(self):
x = &quot;hello&quot;
&gt; assert x == &quot;hi&quot;
E AssertionError: assert &apos;hello&apos; == &apos;hi&apos;
E - hi
E + hello
test_report.py:16: AssertionError
</failure>
</testcase>
</testsuite>
</testsuites>

创建这样的XML文件有有什么用? 主要是为了方便Jenkin或其它的持续集成工具读取。

4.生成测试用例的URL

执行命令:

pytest test_report.py --pastebin=all


复制打印结果最后生成的session-log测试报告链接到浏览器:https://bpa.st/UW2IG


当然,你也可以只选择展示faile的测试用例

pytest test_class.py --pastebin=failed

5.生成html测试报告

通过pip安装pytest-html

pip install pytest-html

在代码文件的当前目录下执行命令

pytest test_report.py --html=./report.html


指定在当前目录下生成report.html文件,打开测试文件:

posted @   尘世风  阅读(692)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
*/
点击右上角即可分享
微信分享提示

目录导航