1.引入HTMLTestRunner
- 下载HTMLTestRunner.py 从http://tungwaiyip.info/software/HTMLTestRunner.html
- 将下载的HTMLTestRunner.py 存放在python的bin路径下
- HTMLTestRunner.py 是基于 python2.*开发的,我们现在用的是 python3.*,因此需要修改该文件。
2.修改 HTMLTestRunner.py
- 第 94 行:import StringIO 改为 import io
- 第 539 行:self.outputBuffer = StringIO.StringIO() 改为 self.outputBuffer = io.StringIO()
- 第 631 行:print >>sys.stderr, ' Time Elapsed: %s' % (self.stopTime-self.startTime) 改为 print(sys.stderr, ' Time Elapsed: %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
3.测试报告的生成
import unittest from HTMLTestRunner import HTMLTestRunner from UnittestDemo.test_mathfunc import TestMathFunc if __name__ == "__main__": suite = unittest.TestSuite() # 执行加法、减法、除法 tests=[TestMathFunc("test_add"),TestMathFunc("test_divide"),TestMathFunc("test_minus")] suite.addTests(tests) # addTest,添加单个 TestCase # suite.addTest(TestMathFunc("test_multi")) f = open("d:\reporter.html","wb") runner = HTMLTestRunner(stream=f, title="测试报告",description="测试用例执行情况") runner.run(suite)