ddt装饰,ddt,data,unpack使用

本文介绍了如何使用pip下载并导入ddt包,详细解释了ddt装饰器的用法,以及data和unpack在单元测试中的应用,包括数据脱外套、参数解包和处理数据不均衡的情况。
摘要由CSDN通过智能技术生成

1、pip下载ddt包

 2、ddt中的ddt,data,unpack讲解

(1)ddt的使用

ddt一般用来装饰测试用例,在用例类上写入’@ddt'代表应用ddt装饰

import unittest
from ddt import ddt,data,unpack
test_data=[{"no":1,"name":"xixi"},{"no":2,"name":"huahua"}]
@ddt#代表装饰用例
class Ddtpex(unittest.TestCase):

(2)data的使用

data就是我们通常所说的“脱外套”,比如[[a,b],[c,d]];以最外层的中括号来说他们时一条数据,使用data后,他们将变成[a,b],[c,d]两条数据

注意:脱外套后,有多少条数据,用例就会执行多少次

import unittest
from ddt import ddt,data,unpack
test_data=[[1,2],[3,4]]
@ddt 
class Ddtpex(unittest.TestCase): 
        @data(*test_data)#脱外套
        def test_print_data(self,no):
            print("no:",no)

 

(3-1)unpack的使用

unpack用于将参数需要单独拎出来使用的时候使用,比如[1,2],[3,4]中的1 2 3 4单独使用,需要注意单独使用的数据有多少个,那么用例的初始化参数就要对应多少个;当数据是字典时,用例的初始化参数就得有多少个并且参数的名称还要与数据的key值相同

import unittest
from ddt import ddt,data,unpack
test_data=[{"no":1,"name":"xixi"},{"no":2,"name":"huahua"}]
@ddt
class Ddtpex(unittest.TestCase):
    @data(*test_data)
    @unpack
    def test_print_data(self,no,name):
        print("no:",no)
        print("name:",name)

代码对应数据:

(3-2)当使用的数据不均衡

例如,[1,2],[3,4,5],前2后3,unpack无法将参数一一的对应,应对方法:(1)初始化参数,加上空值None;(2)不用unpack,用数列,根据索引取值

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值