python unittest web可视化报告 - 猿码设计师

python unittest web可视化报告 - 猿码设计师python自带了用来进行单元测试的框架unittest。现在我们就来说说怎么样能够产生unittest的可视化报告。所谓可视化报告,就是能够以图表的形式来展现测试结果。我介绍的工具能够产生一个单独html页面,能够打开即结果的效果,而且还能够查看异常信息。https://www.yuanmadesign.com/ymdesign/python-unittest1

python自带了用来进行单元测试的框架unittest。这个单元测试框架是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。它还能结合selenium来实现页面的自动化测试。总之,它的功能对于我们源码设计师来说十分受用。

现在我们就来说说怎么样能够产生unittest的可视化报告。

所谓可视化报告,就是能够以图表的形式来展现测试结果。我介绍的工具能够产生一个单独html页面,能够打开即结果的效果,而且还能够查看异常信息。

下面是一段unittest源码:

import unittest

class Test(unittest.TestCase):

@classmethod

def setUpClass(self):

print("Class level starting ...")

@classmethod

def tearDownClass(self):

print("Class level teardown ...")

def setUp(self):

print("execute before test case")

def tearDown(self):

print("execute after test case")

def test_one(self):

print('execute test case one')

self.assertTrue(True)

def test_two(self):

print('execute test case two')

if __name__ == '__main__':

unittest.main()

测试报告:

============================= test session starts ==============================

collecting ... collected 2 items

test.py::Test::test_one Class level starting ...

PASSED [ 50%]execute before test case

execute test case one

execute after test case

test.py::Test::test_two PASSED [100%]execute before test case

execute test case two

execute after test case

Class level teardown ...

============================== 2 passed in 0.02s ===============================

Process finished with exit code 0

文字型的测试报告不是那么醒目。下来我们可以引入HTMLTestRunner,该module通过抓取单元测试结果,自动生成可视化测试报告。

在unittest里增加以下代码,自动生成html版可视化报告。

def run_case(all_case):

"""执行所有的用例, 并把结果写入测试报告"""

htmlreport = "result.html"

fp = open(htmlreport, "wb")

runner = HTMLTestRunner.HTMLTestRunner(stream=fp, verbosity=2, title="接口测试报告", description="用例执行情况")

# 调用add_case函数返回值

runner.run(all_case)

fp.close()

def add_case(case_path='.'):

"""加载所有的测试用例"""

# 定义discover方法的参数

discover = unittest.defaultTestLoader.discover(case_path)

return discover

if __name__ == '__main__':

cases = add_case()

run_case(cases)

报告例子如下:

如想获取HTMLTestRunner.py的源码,请关注我的公众号:源码设计师。

» 转载保留版权:猿码设计师 » 《python unittest web可视化报告》

» 本文链接地址:python unittest web可视化报告 - 猿码设计师

» 如果喜欢可以:关注《猿码设计师》公众号

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值