• 数据驱动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 输出

  • 相关阅读:
    I/O 请求数据包
    设备节点和设备堆栈
    观察者模式,即发布-订阅模式
    建造者模式,即生成器模式
    外观模式,即门面模式
    迪米特法则(LoD),即最少知识原则
    模板方法模式
    原型模式
    工厂方法模式
    代理模式
  • 原文地址:https://www.cnblogs.com/shiyixirui/p/12982521.html
Copyright © 2020-2023  润新知