安装
pip install ddt
数据驱动 ddt 可以使用的地方很多
比如:
1. 做接口测试的参数化
2. 读取自动化测试关键字模型的测试用例
等
demo
import ddt, unittest lists = [[1, 'a'], [2, 'b'], [3, 'c']] @ddt.ddt class Test(unittest.TestCase): def setUp(self) -> None: print('分割线-----------------------') def tearDown(self) -> None: print('分割线-----------------------') """test01 传入 list""" @ddt.data([1, 'a'], [2, 'b'], [3, 'c']) def test01(self, a): print(a, '-->', a[0], '-->', a[1]) """test02 传入 list , 并对 list 解包""" @ddt.data([1, 'a'], [2, 'b'], [3, 'c']) def test02(self, a): print(a, '-->', a[0], '-->', a[1]) """test03 在外部传入 list""" @ddt.data(*lists) def test03(self, a): print(a, '-->', a[0], '-->', a[1]) """test04 传入 dict""" @ddt.data({'name': 'zhangsan', "age": 18}, {'name': 'lisi', "age": 19}, {'name': 'wangwu', "age": 17}) def test04(self, data): print(data['name'], data['age']) """test05 传入 file""" @ddt.file_data('C:\a\data_ddt\a.json') def test05(self, name, age): print(name,age) if __name__ == '__main__': unittest.main()
说明:
# a.json [ { "name": "张三", "age": "18" }, { "name": "李四", "age": "19" } ]