数据驱动ddt简单使用

安装

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"
  }
]

 

test01  输出:

 

 

 

test02 输出

 

 

 

test03 输出

 

 

 

test04 输出

 

 

test05 输出

 

posted @ 2020-05-28 17:50  十一的杂文录  阅读(440)  评论(0编辑  收藏  举报