首页 > 编程语言 >(Python)使用 HTMLTestRunner 实现 unittest 报告生成

(Python)使用 HTMLTestRunner 实现 unittest 报告生成

时间:2022-10-11 13:47:05浏览次数:79  
标签:__ run HTMLTestRunner Python unittest report import self

1. 下载 HTMLTestRunner 文件

地址: http://tungwaiyip.info/software/HTMLTestRunner.html

 

2. 将 .py 文件保存到 \Python37\Lib\site-packages

 

3. 将 HTMLTestRunner.py 由 python2 格式改为 python3 格式

94 行 import io import StringIO
539 行 self.outputBuffer = StringIO.StringIO() self.outputBuffer = io.StringIO()
631 行 print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime) print(sys.stderr, '\nTime 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 = o
772 行 ue = e.decode('latin-1') ue = e

 

4. 调用生成

import unittest
import time
from Get_Path import GET_PATH
from HTMLTestRunner import HTMLTestRunner


class RunTestSuite(object):
    def __init__(self):
        self.suite = unittest.TestSuite()
        self.loader = unittest.TestLoader()

    def run_by_discover(self):
        testcases_dir = GET_PATH + "\Test_Case_Layer"
        self.suite.addTest(self.loader.discover(testcases_dir, pattern="*_Test.py"))

    def generate_report(self):
        get_time = time.strftime("%Y%m%d%H%M%S", time.localtime())
        report_name = "CRM_Project" + get_time + ".html"
        report_path = GET_PATH + "\Main_Layer\Report\\" + report_name

        with open(report_path, 'wb') as fp:
            runner = HTMLTestRunner(stream=fp,
                                    verbosity=2,
                                    title="CRM Test Report",
                                    description="Detailed as below"
                                    )
            runner.run(self.suite)

        fp.close()


if __name__ == '__main__':
    run_testsuite = RunTestSuite()
    run_testsuite.run_by_discover()
    run_testsuite.generate_report()

 

标签:__,run,HTMLTestRunner,Python,unittest,report,import,self
From: https://www.cnblogs.com/bruce-he/p/16778896.html

相关文章

  • Python数据分析-基于pandas的数据清洗
    一、处理丢失数据(1)丢失数据的类型1)None2)np.nan(NaN)两种丢失数据的区别:type(None)NoneTypetype(np.nan)float 为什么在......
  • nginx python webpy 配置安装
    安装webpy$wgethttp://webpy.org/static/web.py-0.34.tar.gz$tarxvzfweb.py-0.34.tar.gz$cdweb.py-0.34$sudopythonsetup.pyinsta......
  • Python函数-5
    Python函数-4的补充和修订:修正一下上个博客的代码块中的del应改为def,深感歉意。补充一下返回值函数的样式:def函数名:return代码(值)一.函数的作用域有两种,一个......
  • python 联邦学习库 syft安装
    python联邦学习库syft安装新建一个新的环境(注意先不用安装pytorch,容易有pysyft和pytorch版本不对应,或者有些pytorch版本不支持pysyft的情况,然后报错):      ......
  • Python文件和目录操作
    创建目录1、os.makedirs可以递归的创建目录结构例如:importosos.makedirs('路径(可以是相对路径也可以是绝对路径)',exist_ok=True)exist_ok=True指定了,如果某个要......
  • Python工具箱系列(九)
    在计算机世界里,信息安全始终占据着重要的地位,我们随处就可以看到信息安全的应用:◆访问网站时,使用https而不是http会使访问者的安全性大大提升◆下载文件时,正规的网站都......
  • python + selenium 新手随笔 元素定位
    1.fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeys//Key表示键盘上的键,By定位文本中的元素fromselenium.webdriver.common.by......
  • 力扣594(java&python)-最长和谐子序列(简单)
    题目:和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给你一个整数数组nums,请你在所有可能的子序列中找到最长的和谐子序列的长度。数组的子序......
  • python study
    pythonpycharmPythonpip安装与使用pythonpippipinstallpyqt5pipinstallpyqt5_toolsqtdesigner就在python目录下:.\Python36\Lib\site-packages\pyqt5-tools。pyqt5_to......
  • Win10 环境下 vscode 没法在终端使用 conda activate 命令来更换 Python 环境的解决方
    在vscode上激活conda镜像如报下面错误:CommandNotFoundError:Yourshellhasnotbeenproperlyconfiguredtouse'condaactivate'.Ifusing'condaactivate'fr......