Python用HTMLTestRunner生成html测试报告
一、引入HTMLTestRunner包
1、下载HTMLTestRunner.py,已上传到网盘,点击下载
2、将HTMLTestRunner.py复制到python安装目录的Lib文件夹下。
可能有的人不知道python安装地址的Lib文件夹在哪里。小编用的是mac,放的地址为:/资源库/Frameworks/Python.framework/Versions/3.6/lib/python3.6
因为看见里面有很多.py结尾的文件,常用到的os.py都在里面,放这里准没错。
二、用unittest写测试用例
具体可参考https://docs.python.org/2/library/unittest.html
三、main方法中生成测试报告
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import unittest
import HTMLTestRunnerNew
import time
import os
class make(unittest.TestCase):
def __init__(self, methodName='runTest'):
super().__init__(methodName)
print("构造函数")
def test_aaa(self):
print("aaa")
self.assertEqual(1, 2)
def test_bbb(self):
print("bbb")
self.assertEqual(2, 2)
def test_ccc(self):
print("ccc")
self.assertEqual(3, 2)
if __name__ == '__main__':
print("main-start")
s = unittest.TestSuite() # 实例化
s.addTests(unittest.TestLoader().loadTestsFromTestCase(make)) # 加载用例
now = time.strftime('%Y-%m-%d %H%M%S')
print("main-getcwd")
filename = open(os.getcwd() + '/testResult_report' + now + '.html', 'wb')
runner = HTMLTestRunnerNew.HTMLTestRunner(
stream=filename,
title='单元测试报告',
description='单元测试报告',
tester='youreyebows')
runner.run(s)
print("main-stop")
四、执行main方法
注意执行时一定不要右键 Run “Unittests in xxx” 因为这个执行的是上面写的继承自unittest的类,例如我这里就是make。
可以试试哦,控制台不会打印出main方法里的print后的语句。
五、查看html报告
(1)在项目下可以看见生成的测试报告,后缀为.html
(2)在chrome打开如图: