zoukankan      html  css  js  c++  java
  • ddt-数据驱动测试

    ddt(data driven test)数据驱动测试
    由外部数据集合来驱动测试用例
    核心思想:数据和测试代码分离
    应用场景:一组数据来执行相同的操作
    安装cmd:pip install ddt

    1、一组数据中,每个数据为单个值
    用法:在测试类前标记ddt,在单个测试用例前标记data、unpack、file_data
    import ddt
    import unittest
    
    @ddt.ddt
    class test_ddt(unittest.TestCase):
    
    #1):一组数据中,每个数据为单个值
        @ddt.data(1,2,3,4,5)
        def test_print(self,a):
            print(a)

    运行结果:

    2、对传入的数据分解用unpack,不加unpack说明是两组数据

    @ddt.ddt
    class test_ddt(unittest.TestCase):
        @ddt.data([1,2,3],[10,11,12])
        def test_add(self,a):
            print(a)
         #print(a[0]+a[1]+a[2])
    #运行结果 Ran 2 tests in 0.001s OK [1, 2, 3] [10, 11, 12]

    ok
    6
    33
    @ddt.ddt
    class test_ddt(unittest.TestCase):
    
        @ddt.data([1,2,3],[10,11,12])
        @ddt.unpack #对[1,2]分解数据,有多少个值传对应参数,data数据的值数据要对应
        def test_add(self,a,b,c):
            print(a+b+c)

    #运行结果
    OK

    6
    33

    3、从变量(一组数据)当中取值,(表达式:*变量名)

    listA = [1,2,3,4,5]
    
    @ddt.ddt
    class test_ddt(unittest.TestCase):
    
    # 2):一组数据中,每个数据为一个列表或一个字典
    #     从变量(一组数据)当中取值--变量是字典/列表(表达式:*变量名)
        @ddt.data(*listA)
        def test_a(self,a):
            print(a)
    
    #运行结果
    OK
    1 2 3 4 5

    4、从文件读取数据file_data

    #前提:Mydict.json数据为:{"name":"jiao","sex":"female","age":"18"}
    @ddt.ddt
    class test_ddt(unittest.TestCase):
    
    # 3):文件对象:json、yaml
    # 变量是字典:键将用作测试用例名称的后缀,而值将作为测试数据提供。
    # 列表中的每个值将对应于一个测试用例,并且该值将连接到测试方法名称。
        @ddt.file_data("D:\PyCharm\project\python\Mydict.json")
        def test_readData_fromJsonFile(self,a):
            print("从文件读取")
            print(a)
    
    #运行结果
    从文件读取
    jiao
    从文件读取
    female
    从文件读取
    18
  • 相关阅读:
    MySQL数据库操作(4)表约束
    通过C学Python(3)列表的常用方法
    MySQL数据库操作(2)基本操作
    通过C学Python(1)关于语言、数值类型和变量
    通过C学Python(2)序列类型
    MySQL数据库操作(1)用户与权限
    一个文章单词分析作业
    pyCharm的几个配置
    MySQL数据库操作(3)表结构操作
    shell脚本中的for循环和while循环
  • 原文地址:https://www.cnblogs.com/simran/p/9485527.html
Copyright © 2011-2022 走看看