Python单元测试框架—生成HTML测试报告

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文件查看生成的测试报告
Python单元测试框架—生成HTML测试报告_第1张图片

你可能感兴趣的:(Python单元测试框架—生成HTML测试报告)