本文主要是介绍DDT示范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DDT(装饰器
data(装饰我们的测试类
data(*value)动态参数
前提回顾
def stud(args)
print(type(args))
print(args)
print(‘args的长度是:’,len(args))
t=stud(‘好呀’,‘小陈’,‘月亮的味道’,‘差不都新生’)
stud(t)
字典也是一样的,也是一个整体
所以也是长度为1
但是如果 前面加一个号,如图。会拆分
列表如图
代码:
import unittest
from ddt import ddt,data,unpackt=(('好呀','小陈'),('月亮','差不多先生','醉里簪花'))
#如果列表里面第一个是2个参数,第二个是3个参数 就是个数不一定的话
#那么就需要给它默认值
#或者*args@ddt#装饰类
class TestAdd(unittest.TestCase):@data(*t)#data解包只有有几个参数,就运行几个用例
# 这里面传的是动态参数 解包之后,有几个参数就运行几个用例
# 有装饰器的时候先运行data,把传给data的数据通过data# 传给test_001de self
@unpack#把上面data解包的数据 再次根据,逗号去拆分
def test_001(self,a,b,c=None):# 这里的self是不可以传参的,#如果需要传参,就要放到超继承里面去或者是# setup里面去传参print('test_001下面开始打印参数')print('test_001参数值a:',a)print('test_001参数值b:',b)print('test_001参数值c:',c)print('test_001下面结束打印参数')print()@data(t) # data解包只有有几个参数,就运行几个用例
def test_002(self, item):print('test_002下面开始打印参数')print('test_002参数值:', item)print('test_002下面结束打印参数')print()
结果如下:
这篇关于DDT示范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!