HTML测试报告:HTMLTestRunner


简介:

HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,用来生成HTML测试报告。

目前官网中只支持python2的版本,可下载虫师的版本,支持python3.

 

安装方法:

直接将HTMLTestRunner.py文件放到python的lib存放第三方库里。(目前不支持pip安装)

 

例子:

 1 # -*-coding:utf-8-*-
 2 
 3 from demo1 import Count
 4 import unittest
 5 from HTMLTestRunner import HTMLTestRunner
 6 import time
 7 
 8 class TestAdd(unittest.TestCase):
 9     """做加法?"""
10     def setUp(self):
11         print('Add Start')
12     def tearDown(self):
13         print('Add End')
14     def test_add1(self):
15         "2+3=?"
16         j = Count(2,3)
17         add = j.add()
18         self.assertEqual(add,5)
19     def test_add2(self):
20         j = Count(5,1)
21         add = j.add()
22         self.assertEqual(add,5,'加错了')
23 
24 if __name__ == '__main__':
25     # 把用例集合成一个套件
26     suite = unittest.TestSuite()
27     suite.addTest(TestAdd('test_add1'))
28     suite.addTest(TestAdd('test_add2'))
29     # 使用HTMLTestRunner生成结果报告到'D:/report'文件夹下,名为当前时间+result.html
30     now_time = time.strftime("%Y-%m-%d %H_%M_%S")
31     filename = 'D:\\report\\'+ now_time +'result.html'   #假设已新建report文件
32     # 设置HTML的title和概括
33     f = open(filename,'wb')
34     runner = HTMLTestRunner(stream=f,
35                             title ='测试报告标题',
36                             description='报告概括')
37     runner.run(suite)
38     f.close()
View Code

 

 

 

查找最新的测试报告

方法1

 1 # -*-coding:utf-8-*-
 2 import os
 3 
 4 _dir = r'D:\study\pyproject\Demo1\unit_test'
 5 # 获取所有_dir路径下的文件名
 6 lists = os.listdir(_dir)
 7 # 按时间顺序排列
 8 lists.sort(key=lambda fn: os.path.getmtime(result_dir+'\\'+fn))
 9 print("最新的报告文件为:"+ lists[-1])
10 #连结路径和最新报告文件名
11 file = os.path.join(result_dir,lists[-1])
12 print(file)
View Code

 

 

方法2

 1 def now_report(report_path):
 2     '''
 3             参数report_path为报告所在的目录
 4     '''
 5     # 获取所有report_path路径下的文件名生成lst列表
 6     lst = os.listdir(report_path)
 7     # lst列表每个元素套进参数fn,使key获得每个文件的修改时间,lst.sort再顺序排列
 8     lst.sort(key=lambda fn: os.path.getmtime(report_path + "\\" + fn))  # getmtime返回文件的最后修改时间
 9     file_new = os.path.join(report_path,lst[-1])
10     print(file_new)
11     return file_new

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM