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. 执行后报告样式显示如下:

在这里插入图片描述

二、 BeautifulReport 报告样式

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

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

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

相比 HTMLTestRunnerNew报告,漂亮很多

在这里插入图片描述

三、 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. 测试报告截图

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值