一、导入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,找到这个目录后把文件放在这个文件夹里面就可以了
二、实操
放好了之后我们就来写代码测试一下:
首先我创建了一个计算加法和乘法的类:
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)
当然这里执行成不成功,上面的HTMLTestRunnerNew文件你得放对,不然是走不到这里的~
执行结束之后文件夹就会新增一个名为"test_report.html"的文件,打开之后就可以看到详细的信息内容了,测试报告长这个样子:
如果你执行之后看到这个文件了,那么恭喜你,你已经成功get此项技能~
以上,到此这一部分就结束了,希望对你们有所帮助~