• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

其他 尘世风 1584次浏览 0个评论

先前博客有介绍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

Python单元测试框架pytest常用测试报告类型
复制打印结果最后生成的session-log测试报告链接到浏览器:https://bpa.st/UW2IG

Python单元测试框架pytest常用测试报告类型
当然,你也可以只选择展示faile的测试用例

 pytest test_class.py  --pastebin=failed

5.生成html测试报告

通过pip安装pytest-html

 pip install pytest-html  

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

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

Python单元测试框架pytest常用测试报告类型
指定在当前目录下生成report.html文件,打开测试文件:
Python单元测试框架pytest常用测试报告类型


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Python单元测试框架pytest常用测试报告类型
喜欢 (0)

您必须 登录 才能发表评论!

加载中……