HTMLTestRunner是Python标准库提供unittest单元测试框架的一个扩展,他生成易于使用的HTML测试报告。这个扩展只是一HTMLTest Runner.py 文件
1.下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
(选中该py文件,单击鼠标右键,另存为本地)
2.安装方法:将下载的文件保存到..\python35\Lib目录下
修改HTMLTestRunner.py文件(因为HTMLTestRunner是基于Python2开发的)
3. 修改办法:
第94行,将import StringIO修改成import io
第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()
第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s‘ %(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s‘ % (self.stopTime-self.startTime))
第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
代码如下:
#unittest测试框架
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
class Test(unittest.TestCase):
#用于测试用例执行前的初始化工作
def setUp(self):
print("test start")
def test_bbb(self):
print("test bbb")
def test_aaa(self):
print("test aaa")
#用于测试用例执行之后的善后工作
def tearDown(self):
print("test end")
if __name__ == '__main__':
suite=unittest.TestSuite()
suite.addTest(Test("test_bbb"))
suite.addTest(Test("test_aaa"))
now=time.strftime("%Y-%m-%d %H_%M_%S")
#定义报告存放路径
filename='D:\ '+ now +'result.html'
fp=open(filename,'wb')
#定义测试报告
runner=HTMLTestRunner(stream=fp,title='测试报告',description='用例执行情况:')
runner.run(suite)
fp.close()#关闭报告文件
用例执行完成后,打开result.html文件查看生成的测试报告