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

一、导入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此项技能~

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

原文地址:https://www.cnblogs.com/xuxiaozhu/p/10724443.html