下载地址HTMLTestRunner.py文件:
http://tungwaiyip.info/software/HTMLTestRunner.html
下载的适合python2,如果python3要修改一些内容
首先吧HTMLTestRunner文件添加到环境变量里,可以直接放到python的Lib目录下
HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,用于生成HTML测试报告
生成HTML测试报告
#coding:utf-8
import unittest, HTMLTestRunner
class Testcase(unittest.TestCase): # 测试用例类
# 具体的测试用例,一定要以test开头
def test1(self):
self.assertEqual(1, 1)
def test2(self):
self.assertEqual(2, 2)
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Testcase)) # 执行该测试类所有用例
# 定义报告的存放路径,以二进制写的形式打开文件
f = open('test.html', 'wb')
# 定义测试报告,stream:报告存放路径,title:报告标题,description:描述
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title=u'测试用例标题', description=u'描述')
runner.run(suite) # 运行测试用例
f.close() # 关闭文件
返回结果(测试报告详情):
--stream :存放报告写入文件的存入区域
--title :测试报告的主题
--description :测试报告的描述
报告用例类和用例方法加备注
为了生成带有中文描述的测试用例类和测试用例
在用例类和用例方法下,通过’’’ ‘’’或””” “””来添加备注
#coding:utf-8
import unittest, HTMLTestRunner
class Testcase(unittest.TestCase): # 测试用例类
u'''类名后加备注'''
def test1(self):
u'''用例后面加备注1'''
self.assertEqual(1, 1)
def test2(self):
u'''用例后面加备注2'''
self.assertEqual(2, 2)
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(Testcase))
# 定义报告的存放路径,以二进制写的形式打开文件
f = open('test.html', 'wb')
# 定义测试报告,stream:报告存放路径,title:报告标题,description:描述
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title=u'测试用例标题', description=u'描述')
runner.run(suite) # 运行测试用例
f.close() # 关闭文件
返回结果:
测试报告文件名
#coding:utf-8
import unittest, HTMLTestRunner, time
from unittest.loader import makeSuite
class Testcase(unittest.TestCase): # 测试用例类
# 具体的测试用例,一定要以test开头
def test1(self):
self.assertEqual(1, 1)
def test2(self):
self.assertEqual(2, 2)
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(makeSuite(Testcase)) # 执行该测试类所有用例
# 定义报告的存放路径,以二进制写的形式打开文件
now = time.strftime("%y-%m-%d %H_%M_%S")
f = open('./' + now + 'test.html', 'wb')
# 定义测试报告,stream:报告存放路径,title:报告标题,description:描述
runner = HTMLTestRunner.HTMLTestRunner(stream=f, title=u'测试用例标题', description=u'描述')
runner.run(suite) # 运行测试用例
f.close() # 关闭文件
返回结果:
测试报告乱码问题
将红框里的内容注释掉改成uo = o.decode('utf-8')