测试代码如下(测试用例类):
@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. 测试报告截图
