Unitest框架的使用(四)HTMLTestRunner输出测试报告

输出测试报告

当我们测试完了,肯定要输出测试报告,HTMLTestRunner是Unittest框架下的一个扩展,它用来生成HTML测试报告

  1. 下载HTMLTestRunner.py文件,地址:http://tungwaiyip.info/software/HTMLTestRunner.html
  2. 将下载的文件放在Python安装目录下的Lib文件夹中,我的是:D:\Python\Python37\Lib 这个目录
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
(选中该py文件,单击鼠标右键,另存为本地)
  1. 修改HTMLTestRunner.py文件,因为这个库是Python2编写的
第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

  1. 导出模块import HTMLTestRunner
from HTMLTestRunner import HTMLTestRunner
  1. 测试报告输出路径
    time = time.strftime("%Y%m%d%H%M%S")
    path = os.path.dirname(os.path.realpath(__file__))
    filename = path + '\\' + time + 'Test_Result.html'
  1. 在测试代码尾部编写HTMLTestRunner方法
	fp = open(filename, "wb")
    runner = HTMLTestRunner(stream=fp, title=u"MathTest测试报告", description=u"用例执行情况")
    runner.run(suite)
    fp.close()

我们用上次的工程来进行修改,输出测试报告,代码如下

import os
import time
import unittest
from HTMLTestRunner import HTMLTestRunner
from Test_Case import MathCase
from Test_Case2 import MathCase2

if __name__ == "__main__":
    suite = unittest.TestSuite()
    "装载测试用例"
    suite.addTest(MathCase("test_add"))
    suite.addTest(MathCase("test_sub"))
    suite.addTest(MathCase2("test_mul"))
    suite.addTest(MathCase2("test_div"))

    """
    报告时间为当前时间,并给出输出格式
    测试路径为当前工程路径
    文件命名为路径+\\+当前时间+test_result.html
    """
    time = time.strftime("%Y%m%d%H%M%S")
    path = os.path.dirname(os.path.realpath(__file__))
    filename = path + '\\' + time + 'Test_Result.html'
    fp = open(filename, "wb")
    runner = HTMLTestRunner(stream=fp, title=u"MathTest测试报告", description=u"用例执行情况")
    runner.run(suite)
    fp.close()

运行结果
在这里插入图片描述
工程目录打开刚输出的测试报告
在这里插入图片描述
summary,Failed,All,这三个可以展开查看详细的情况
在这里插入图片描述

参考:https://blog.csdn.net/wxy_summer/article/details/52814791

猜你喜欢

转载自blog.csdn.net/sevensolo/article/details/100097405
今日推荐