3.3 unittest框架报告生成-- 常用三种

测试代码如下(测试用例类):

@ddt
class TestRegister(unittest.TestCase):

    @data(*cases)
    def test_register(self, case_data):
        case_row = int(case_data.case_id.split("_")[1]) + 1
        actual_result = register(*case_data.data)  # *进行解包,调用login
         result = 'Pass'
        try:
            self.assertEqual(case_data.expected_result, actual_result)
        except Exception as e:
            result = 'Fail'
            my_log.error(f"用例执行失败,原因是{e}")
            raise e  # 抛出异常 (unittest用例不通过,会抛异常,若不抛异常,则通过
        finally:
           my_log.info(f"测试结果:{result}")

用例收集文件

import unittest
# 创建一个测试套件
suite = unittest.TestSuite()
loader = unittest.TestLoader()
# 通过添加路径来添加用例
suite.addTest(loader.discover(CASES_PATH))
 ```

一. HTMLTestRunnerNew报告

1. 用例执行

from HTMLTestRunnerNew import HTMLTestRunner
# 运行测试集合
# 样式较为好看的测试报告
with open(file=report_path, mode='wb') as f:
    runner = HTMLTestRunner(stream=f,
                            verbosity=2,
                            title="测试报告",
                            description="HTMLTestRunnerNew报告样式",
                            tester="涵柏")
    runner.run(suite)

2. 执行后报告样式显示如下:

3.3 unittest框架报告生成-- 常用三种_第1张图片

二、 BeautifulReport 报告样式

1. 用例执行生成报告代码

from BeautifulReport import BeautifulReport
br = BeautifulReport(suite)
br.report("BeautifulReport测试报告", 'report.html')

2. 执行后,报告样式如下:

相比 HTMLTestRunnerNew报告,漂亮很多

3.3 unittest框架报告生成-- 常用三种_第2张图片

三、 unittestreport测试报告

     安装: pip install unittestreport 即可
      (该功能模块是柠檬班老师木森老师开发)
      学习地址:  https://github.com/musen123/UnitTestReport

1. Suite运行生成报告代码

from unittestreport import TestRunner
runner = TestRunner(suite,
                    filename="report.html",
                    report_dir=".",
                    title="unittestreport测试报告",
                    tester="涵柏",
                    desc="unittestreport.TestRunner测试报告")
# 第三步:执行测试
runner.run()

2. 测试报告截图

3.3 unittest框架报告生成-- 常用三种_第3张图片

你可能感兴趣的:(自动化测试框架介绍,unittest测试报告,HTMLTestRunner,BeautifulReport,报告增加用例通过率)