重学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))

 结果如图:

原文地址:https://www.cnblogs.com/xiamaojjie/p/11795822.html