数据驱动ddt简单使用

时间:2020-05-28 18:01:33   收藏:0   阅读:96

安装

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 输出

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!