DDT基础知识以及DDT、unittest、excel结合使用

DDT :ddt是第三方库,ddt+unittest来进行数据的处理

四种模式:第一步引入的装饰器@ddt;导入数据的@data;拆分数据的@unpack;导入外部数据的@file_data

一:
@data(a,b)
那么a和b各运行一次用例
@data([a,b],[c,d])
如果没有unpack,那么[a,b],[c,d]当成一个参数传入用例运行
如果有unpack,那么[a,b],[c,d]被分解开,按照用例中的两个参数传递
二:
要注意参数不对等的情况,提供对应参数的个数来接收变量
三:不定长参数的一个知识点:不定长参数的遍历
def print_msg(*args):
print(args)
t=[1,4]
print(t)
#运行结果是[1, 4]
print(*t)
#运行结果是1 4
#这个是不定长参数的遍历,也叫脱外套
在这里插入图片描述

在没有接触DDT之前,测试用例的编写如下,但是缺点是不能传递参数,所以可以商用ddt:

import unittest
class TestMath(unittest.TestCase):
    def test_add(self):#缺点是:这个方法不能传递参数
        a=10
        b=20
        print(a+b)

只使用data

传入一个参数
from ddt import ddt,data,unpack
import unittest
@ddt#它的作用的装饰测试类
class TestMath(unittest.TestCase):
    #下面的1, 2, 3代表我们传入的参数, 每次传入一个值
    @data(1,2,3)#装饰测试方法,拿到几个用例就执行几条用例
    # 定义一个value用于接收我们传入的参数
    def test_print_data(self,item): 
        print("item:",item)
if __name__ == '__main__':
    unittest.main(verbosity=2)

在这里插入图片描述

传入两个参数
from ddt import ddt,data,unpack
import unittest
@ddt
class TestMath(unittest.TestCase):
    @data((1,2),(2,3))
    def test_print_data(self,a):
        print("a", a)
if __name__ == '__main__':
    unittest.main(verbosity=2)

在这里插入图片描述

使用data和unpack(如果unpack后的参数少于5个推荐用unpack)


                
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值