ddt的使用

ddt一指data driver test,是一种测试思想,意指数据驱动

这里将的ddt是ddt库,配合unittest使用。

假设我们有个登录功能需要设计测试用例,用例如下:

    1.正确的账号密码登录。

    2.错误的账号密码登录。

    3.账号为空登录。

    4.密码为空登录。

    5.....

这同一个功能如果每一个用例都单独写一个方法,岂不是太冗余了?你会说,我可以用同一个方法,然后将用例的数据做成列表或者字典,遍历循环那就很简洁了啊。

这样想其实没有错,当你执行的时候会发现,unittest虽然将所有的数据都跑完了,但是输出的结果是仅执行了一条用例。

这里就需要用ddt这个库来解决这一系列的问题了

import unittest
import ddt


login_datas = [['admin','123456'],['admin','12345'],['','123456']]

@ddt.ddt
class TestClass(unittest.TestCase):
    
    @ddt.data(*login_datas)
    def test_login(self,login_data):
        ...
        self.AsserEqual(login_data[0],login_data[1])

首先是引入unittest和ddt库,将数据准备到一个列表中去。最后用类装饰器和方法装饰器将数据加载到对应的方法中(使用方法固定,记住步骤就好)。

需要注意的是类装饰器是ddt.ddt,方法装饰器是ddt.data(),方法装饰器是需要传递参数的,这里的参数是该测试方法的数据。记得在参数前加一个*,用于将参数解包,每次ddt会从列表中取一个参数,将之传递给测试方法。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值