ddt的简单使用

ddt(数据驱动)的使用

(1)首先安装ddt,pip install ddt
(2)导入包  from ddt import ddt,data,unpack
        @ddt 装饰测试类
        
        @data 装饰测试方法,拿到几条数据,就执行几条用例
        
        重点多瞅瞅
        @unpack
            如果unpack后面的参数少于5个 推荐用unpack  要注意参数不对等的情况,提供对应的参数来接收变量
            如果对字典进行unpack 参数名必须与你的字典key对应
            test_data_2=[{"no":1,"name":"lili","sex":"女"},{"no":2,"name":"lingling"}]
            @data(*test_data_2)
		   要注意参数不对等的情况,提供对应个数的参数来接收变量
		   如果实在不对等可以将某个参数值设置为None 
		   @unpack  #如果对字典进行unpack 参数名需要与你的字典key对应
		   def test_print_dict(self,no,name,sex=None):
    			print("no:",no)
    			print("name:",name)
    			print("sex:", sex)
    			
		*号意为解包。入参为测试数据,ddt会按逗号分隔,将数据拆分
from ddt import ddt,data,unpack
import unittest
test_data=[10,20]
test_data_2=[{"no":1,"name":"lili","sex":"女"},{"no":2,"name":"lingling"}]

@ddt #装饰测试类
class TestMath(unittest.TestCase):
    @data(test_data) #装饰测试方法,拿到几个数据,就执行几条用例
    @unpack
    def test_print_data(self,a,b):
        print("a:",a)
        print("b:",b)
        print("")
        
    @data(test_data)
    @unpack #如果unpack后的参数 少于5个 推荐用unpack
    def test_add(self,a,b):
        print(a+b)
        print("")
        
	#*号意为解包。入参为测试数据,ddt会按逗号分隔,将数据拆分
    @data(*test_data_2)
    # 要注意参数不对等的情况,提供对应个数的参数来接收变量  
    @unpack  #如果对字典进行unpack 参数名需要与你的字典key对应
    def test_print_dict(self,no,name,sex=None):
        print("no:",no)
        print("name:",name)
        print("sex:", sex)
        print("")

if __name__ == '__main__':
    unittest.main() # 执行顺序是无序的 更具ASCEII码 abcdefg...

运行结果:
30

a: 10
b: 20

no: 1
name: lili
sex: 女

no: 2
name: lingling
sex: None
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值