Mac上实现Python用HTMLTestRunner生成html测试报告

时间:2023-03-12 11:19:56

一、导入HTMLTestRunnerNew文件

首先,我们要知道如果要利用HTMLTestRunnerNew生成测试报告的话,就需要对其进行导入:

HTMLTestRunnerNew下载地址:链接:https://pan.baidu.com/s/1DO8_0HrNx_UtVPzqCEJ8CQ 密码:5yoy

下载好了之后需要把这个文件复制到python的lib目录下面,操作步骤如下

在访达中command+shift+G,在弹出的输入框中输入:/资源库/Frameworks/Python.framework/Versions/3.6/lib/python3.6,找到这个目录后把文件放在这个文件夹里面就可以了

Mac上实现Python用HTMLTestRunner生成html测试报告

二、实操

放好了之后我们就来写代码测试一下:

我的文件目录是这样的:

Mac上实现Python用HTMLTestRunner生成html测试报告

首先我创建了一个计算加法和乘法的类:

 #!usr/bin/env python3
# -*- coding:utf-8 _*- class MathMethod:
def __init__(self,a,b):
self.a=a
self.b=b def add(self):
return self.a+self.b def multi(self):
return self.a*self.b

再对其进行测试:

 #!usr/bin/env python3
# -*- coding:utf-8 _*- import unittest
from write_blog.math_method import MathMethod #对需要测试的类进行导入
class TestMathMethod (unittest.TestCase):
# 两个正数相加
def test_add_two_positive(self):
res = MathMethod (1, 3).add ()
print ("1+3的结果是{0}".format (res))
try:
self.assertEqual (5, res, "两个0相加的值不对!") # 这里我为了可以报错,所以期望值写的是5
except Exception as e:
print("断言错误是{0}".format(e))
raise e # 两个负数相乘
def test_multi_two_negative(self):
res = MathMethod (-3, -9).multi ()
print ("-3*-9的结果是{0}".format (res))

最后再是输出测试报告:

 #!usr/bin/env python3
# -*- coding:utf-8 _*- import unittest
import HTMLTestRunnerNew
from write_blog import test_mathmethod # 具体到模块名 # 存储测试用例
suite=unittest.TestSuite() # 创建一个加载器
loader=unittest.TestLoader() # 从测试模块里面去找测试用例
suite.addTest(loader.loadTestsFromModule(test_mathmethod)) # 测试报告
with open("test_report.html",'wb') as file:
runner=HTMLTestRunnerNew.HTMLTestRunner(stream=file,
verbosity=2,
description="第一次输出报告,有点小激动",
title="测试报告",
tester="小猪") runner.run(suite)

当然这里执行成不成功,上面的HTMLTestRunnerNew文件你得放对,不然是走不到这里的~

执行结束之后文件夹就会新增一个名为"test_report.html"的文件,打开之后就可以看到详细的信息内容了,测试报告长这个样子:

Mac上实现Python用HTMLTestRunner生成html测试报告

如果你执行之后看到这个文件了,那么恭喜你,你已经成功get此项技能~

以上,到此这一部分就结束了,希望对你们有所帮助~