zoukankan      html  css  js  c++  java
  • 重学ddt数据驱动

    usage:

    import unittest
    from ddt import ddt,data,unpack
    
    
    test_data=[15826276815,'mg123456'],[5,6]
    @ddt
    class TestStudyDdt(unittest.TestCase):
    
    # todo 单个参数参数化
    
        @data(*test_data)
        def test_print_data1(self,data):
            print('数据如下:',data)
    # todo 多个参数参数化
    
        @data(*test_data)
        @unpack
        def test_print_data2(self,data,data1):
            print('数据1如下:',data)
            print('数据2如下:',data1)
    
    if __name__ == '__main__':
        unittest.main()

    打印结果如下:

    字典参数化:

    import unittest
    from ddt import ddt,data,unpack
    
    # 字典参数化
    test_data = {'phone':1582627815,'pawd':'mg123456'},{'phone':158262768151,'pawd':'mg1234561'}
    @ddt
    class TestDdt(unittest.TestCase):
    
        @data(*test_data)
        @unpack
        # todo 字典格式使用unpack必须test_data数据里面的key,value对应
        def test_print_data2(self, phone, pawd):
            print('数据1如下:', phone)
            print('数据2如下:', pawd)
    
    if __name__ == '__main__':
        unittest.main()

    import unittest
    from ddt import ddt,data,unpack
    
    test_data = [{
        "name":"kangkang",
        "age":"23"
    }]
    
    @ddt
    class Test_01(unittest.TestCase):
        '''*test_data会把数据拆为字典,unpack会把字典进一步拆分'''
    
        @data(*test_data)
        @unpack
        def test_tada(self,name,age):    # todo 列表嵌套字典使用upack方法,参数名字典的键
            print('name的参数:{}'.format(name))
            print('age的参数:{}'.format(age))

     结果如图:

  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别
    Linux 系统时间设置
    Redis入门
    线程安全的单例模式
    redis-Sentinel配置
    openpose
    Qt5.11参考文档
    opencv3.3
    opencv3.4 win10 visual studio2017 opencv_contrib 编译
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/11795822.html
Copyright © 2011-2022 走看看