DDT(数据驱动测试)允许您用不同的测试数据运行一个测试用例,从而使它看起来像多个测试用例。
DDT由一个类装饰@ddt(对应您的testcase子类)和两个方法装饰(对于您希望成倍增加的测试)组成:
@data:包含的参数数量与要提供给测试的值的数量相同。
@file_data:将从JSON或YAML文件加载测试数据。
通常,数据中的每个值都将作为单个参数传递给测试方法。如果这些值是元组,则必须在测试中解包它们。或者,您可以使用一个附加的装饰器unpack,它将自动将元组和列表解包为多个参数,并将字典解包为多个关键字参数。
实际运行并单独报告的测试用例数已乘以。
DDT将尝试通过将数据值转换为有效的Python标识符来为新的测试用例提供有意义的名称。
参考例子如下,例子中使用三个测试数据,单位测试会运行3次。
@file_data使用例子
@file_data(‘test_data_list.json’)
‘test_data_list.json‘
使用HtmlTestRunner生成漂亮的测试报告
安装html_testRunner类库,输入命令pip install html-testRunner
代码中引入HtmlTestRunner包
unittest.main(verbosity=2,testRunner=HtmlTestRunner.HTMLTestRunner(output=’test3′))
运行python3 test3.py完毕后在运行目录下会出现reports目录test3子目录自动生成测试报告如下图所示: