4-生成测试报告--HTMLTestRunner

HTMLTestRunner是Python标准库的unittest模块的扩展。它生成易于使用的HTML测试报告。

下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下载完成后,放到我们的代码文件中,使用的时候直接调用就可以了。

1-测试报告生成步骤说明:

1. 复制HTMLTestRunner.py文件到项目文件夹
2. 导入HTMLTestRunner、UnitTest包    
3. discover加载要执行的用例
      (discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py"))
4. 设置报告生成路径和文件名
   (file_name=file_dir+nowtime+"Report.html")
5. 打开报告 with open(file_name,'wb') as f:
6. 实例化HTMLTestRunner对象:runner=HTMLTestRunner(stream=f,[title],[description])
    参数说明:
               (stream:文件流,打开写入报告的名称及写入编码格式)
               (
                       [],为可选;
                       title为报告标题,如XXX自动化测试报告
                       description:为说明;比如操作系统、浏览器等版本
               )
7. 执行:runner.run(discover)

2.1-编写测试用例案例--实现代码 (我们在用例中添加注释。这样的话就会生成了详细内容,具体效果看最后的生成测试报告图片)

import unittest


def add(a, b):
    return a + b


class TestCase01(unittest.TestCase):
    def testcase_01(self):
        """测试的数据是'1 + 1 =', add(1, 1)"""
        print('testcase_01')
        print('1 + 1 =', add(1, 1))

    def testcase_02(self):
        """测试的数据是'6 + 8 =', add(6, 8)"""
        print('testcase_02')
        print('6 + 8 =', add(6, 8))

    def testcase_03(self):
        """故意将断言设置错误"""
        print('testcase_02')
        print('10 + 8 =', add(10, 8))
        self.assertEqual(2, add(10, 8))

2.2-生成测试报告--实现代码

from tools.HTMLTestRunner import HTMLTestRunner  # 从你的文件中把这个第三方模块导出来
import unittest
from untest_07 import TestCase01

suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestCase01))

# HTMLTestRunner 内置了 TextTestRunner方法

# 定义生成的报告存放目录
file_dir = "./reports/"
# 定义报告名字
name = '测试报告.html'

# 报告完整路径和名称
file_name = file_dir + name

with open(file_name, "wb") as f:
    # 实例化HTMLTestRunenr对象,传入报告文件流f;  description: 对报告的描述,根据自己想法写
    rep = HTMLTestRunner(stream=f, title='测试报告', description='windows chrome')
    rep.run(suite)

2.3-生成的测试报告--最终效果

坚持,坚持,坚持…… 在你选择不放弃的那一刻, 成功其实已经在向你走近 我们无法得知什么时候会来临 但我们可以选择用自强的双手敲开幸福的门。
原文地址:https://www.cnblogs.com/bronyaa/p/14920357.html