UnitTest+HTMLTestRunner 测试可视化

此为系列博客


代码地址https://gitee.com/UncoDong/git-for-csdn

HTMLTestRunner

使用HTMLTestRunner进行图表可视化,首先需要下载HTMLTestRunner.py文件,是在https://github.com/huilansame/HTMLTestRunner_PY3/blob/master/HTMLTestRunner_PY3.py获得的。

由于CSDN的文件上传后会自动给你添下载所需积分。。所以我把HTMLTestRunner上传到网盘了
链接:https://pan.baidu.com/s/1OVf4XYbSlN8cY90UxhBtig
提取码:nzmv

:如果是通过上述的github代码获取到的文件,直接使用会报错TypeError: write() argument must be str, not bytes,此时要找到这么一句代码self.stream.write(output.encode('utf8')),给改成self.stream.write(output),如下图
在这里插入图片描述
当下载好文件后,使用from HTMLTestRunner import HTMLTestRunner导入该类就可以直接使用了。按照顺序了来构建项目:

1 UnitTest测试文件

首先写一个UnitTest框架的测试文件TEST.py,代码如下

import unittest

class TestMethods(unittest.TestCase):
    # 通过测试
    def test_pass(self):
        self.assertEqual(1+1,2)

    # 没通过测试
    def test_failed(self):
        self.assertEqual(1 - 1, 2)

    # 报错
    def test_error(self):
        self.assertEqual(1 - 2, num)

if __name__ == '__main__':
    unittest.main()
2 测试可视化文件

然后编写将测试结果可视化的文件PieTest.py,代码如下:

import unittest
import time
import os.path
from HTMLTestRunner import HTMLTestRunner

class TestRunner(object):
    # 初始化要用到的字符串
    def __init__(self, cases="./", title=u'自动化测试报告', description=u'环境:windows 10'):
        self.cases = cases
        self.title = title
        self.des = description

    # 开始测试
    def run(self):
        # 生成report文件夹
        for filename in os.listdir(self.cases):
            if filename == "report":
                break
        else:
            os.mkdir(self.cases + '/report')
        # 获取当前时间
        now = time.strftime("%Y-%m-%d_%H_%M_%S")
        # 报告结果写入html文件
        with open('./report/' + now + "_result.html", 'w', encoding='utf-8') as fp:
            # 运行./路径下的TEST.py文件,视自己的情况修改路径
            tests = unittest.defaultTestLoader.discover("./", pattern='*TEST.py', top_level_dir=None)
            runner = HTMLTestRunner(stream=fp, title=self.title, description=self.des)
            runner.run(tests)


if __name__ == '__main__':
    test = TestRunner()
    test.run()

可以看到导入了HTMLTestRunner.py包,说明PieTest.py和它在同一路径下,最终的项目目录如下:
在这里插入图片描述

项目名Runner,你的项目可以是别的名字
最后运行`PieTest.py`文件,就可以愉快地生成报告了。

在这里插入图片描述在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值