Python3和HTMLTestRunner生成html测试报告
2020-12-13 14:05
标签:报告 out elf ftime 地址 ddt 图片 lte stringio 1、测试环境:Python3.5+unittest+HTMLTestRunner 2、下载HTMLTestRunner.py文件 下载地址 http://tungwaiyip.info/software/HTMLTestRunner.html 3、由于下载的HTMLTestRunner.py文件是基于Python2的,若适用于Python3则进行如下修改: 第94行,将import StringIO修改成import io 4、以下3个py文件利用unittest、HTMLTestRunner生成html测试报告 test.py 文件 add_dele.py文件 test_add_dele.py文件 5、文件及html报告架构: 6、生成的html报告样式: Python3和HTMLTestRunner生成html测试报告 标签:报告 out elf ftime 地址 ddt 图片 lte stringio 原文地址:https://www.cnblogs.com/zhengyihan1216/p/11549820.html
右键单击保存至本地,放在Python的安装目录Lib文件夹下(我本地放在本目录下:D:\setup\Python35\Lib)
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io.StringIO()
第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:
第766行,将uo = o.decode(‘latin-1‘)修改成uo = e
第772行,将ue = e.decode(‘latin-1‘)修改成ue = e
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTime Elapsed: %s‘ % (self.stopTime-self.startTime)) 1 class Test():
2 #初始化函数
3 def __init__(self,a,b):
4 self.a = a
5 self.b = b
6
7 #两个数相加
8 def add(self):
9 x = self.a+self.b
10 return x
11
12 #两个数相减
13 def dele(self):
14 y = self.a-self.b
15 return y
1 #coding=utf-8
2 from test import Test
3 import unittest
4
5 class Test_test(unittest.TestCase):
6 #下面三引号对类的注释会显示在报告的表格中
7 ‘‘‘数字计算‘‘‘
8 def test_shuzi(self):
9 #下面三引号对方法的注释会显示在报告的表格中
10 ‘‘‘两个数字相加以及两个数字相减‘‘‘
11 # 对test文件中的Test类初始化
12 shuzi = Test(7, 3)
13 self.assertEqual(shuzi.add(),10)
14 self.assertEqual(shuzi.dele(),4)
15 def test_liangmethod(self):
16 ‘‘‘两数字相加的2倍 加上 两个数字相减的2倍‘‘‘
17 #对test文件中的Test类初始化
18 liangshuzi = Test(6,5)
19 t = liangshuzi.add()*2 + liangshuzi.dele()*2
20 self.assertEqual(t,24)
1 #coding=utf-8
2 from HTMLTestRunner import HTMLTestRunner
3 import unittest
4 import add_dele
5 import time
6 import os
7
8 #构建测试集
9 suit = unittest.TestSuite()
10 #测试集加入add_dele文件中被调用的方法。格式suit.addTest(文件名.类名("方法名"))
11 suit.addTest(add_dele.Test_test("test_shuzi"))
12 suit.addTest(add_dele.Test_test("test_liangmethod"))
13
14 #定义存放测试报告的路径及文件名
15 #我定义的路径是:当前路径+存放报告的专有目录Report+文件名(文件名是当前时间+report.html)
16 curent_dirc=os.path.dirname(os.path.realpath(__file__))
17 report_dirc = "\Report"
18 now = time.strftime("%Y%m%d-%H%M%S")
19 report_name = curent_dirc+report_dirc+"\\"+now+"report.html"
20 fp = open(report_name,"wb")
21 runner = HTMLTestRunner(stream=fp,
22 title="测试一下报告生成",
23 description="用两个数字的相加减来练习")
24 runner.run(suit)
25 fp.close()
文章标题:Python3和HTMLTestRunner生成html测试报告
文章链接:http://soscw.com/essay/33678.html