Mac上实现Python用HTMLTestRunner生成html测试报告
程序员文章站
2022-04-19 23:16:16
一、导入HTMLTestRunner文件 首先,我们要知道如果要利用HTMLTestRunner生成测试报告的话,就需要对其进行导入: HTMLTestRunner下载地址:链接:https://pan.baidu.com/s/1DO8_0HrNx_UtVPzqCEJ8CQ 密码:5yoy 下载好了 ......
一、导入htmltestrunner文件
首先,我们要知道如果要利用htmltestrunner生成测试报告的话,就需要对其进行导入:
htmltestrunner下载地址:链接:https://pan.baidu.com/s/1do8_0hrnx_utvpzqcej8cq 密码:5yoy
下载好了之后需要把这个文件复制到python的lib目录下面,操作步骤如下:
在访达中command+shift+g,在弹出的输入框中输入:/资源库/frameworks/python.framework/versions/3.6/lib/python3.6,找到这个目录后把文件放在这个文件夹里面就可以了
二、实操
放好了之后我们就来写代码测试一下:
我的文件目录是这样的:
首先我创建了一个计算加法和乘法的类:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 class mathmethod: 5 def __init__(self,a,b): 6 self.a=a 7 self.b=b 8 9 def add(self): 10 return self.a+self.b 11 12 13 def multi(self): 14 return self.a*self.b
再对其进行测试:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 import unittest 5 from write_blog.math_method import mathmethod #对需要测试的类进行导入 6 class testmathmethod (unittest.testcase): 7 # 两个正数相加 8 def test_add_two_positive(self): 9 res = mathmethod (1, 3).add () 10 print ("1+3的结果是{0}".format (res)) 11 try: 12 self.assertequal (5, res, "两个0相加的值不对!") # 这里我为了可以报错,所以期望值写的是5 13 except exception as e: 14 print("断言错误是{0}".format(e)) 15 raise e 16 17 # 两个负数相乘 18 def test_multi_two_negative(self): 19 res = mathmethod (-3, -9).multi () 20 print ("-3*-9的结果是{0}".format (res))
最后再是输出测试报告:
1 #!usr/bin/env python3 2 # -*- coding:utf-8 _*- 3 4 import unittest 5 import htmltestrunnernew 6 from write_blog import test_mathmethod # 具体到模块名 7 8 # 存储测试用例 9 suite=unittest.testsuite() 10 11 # 创建一个加载器 12 loader=unittest.testloader() 13 14 15 # 从测试模块里面去找测试用例 16 suite.addtest(loader.loadtestsfrommodule(test_mathmethod)) 17 18 19 # 测试报告 20 with open("test_report.html",'wb') as file: 21 runner=htmltestrunnernew.htmltestrunner(stream=file, 22 verbosity=2, 23 description="第一次输出报告,有点小激动", 24 title="测试报告", 25 tester="小猪") 26 27 runner.run(suite)
当然这里执行成不成功,上面的htmltestrunner文件你得放对,不然是走不到这里的~
执行结束之后文件夹就会新增一个名为"test_report.html"的文件,打开之后就可以看到详细的信息内容了,测试报告长这个样子:
如果你执行之后看到这个文件了,那么恭喜你,你已经成功get此项技能~
以上,到此这一部分就结束了,希望对你们有所帮助~
上一篇: python高级-动态特性(20)