ddt数据驱动+yaml文件

目录

ddt库安装

ddt用法

@data()装饰器

@file_data()装饰器

yaml文件中的锚点和引用:


ddt库安装

pip install ddt

ddt用法

  • 调用ddt数据驱动,一定要在class上添加ddt的装饰器

@data()装饰器

@data(5,15)装饰器可以将括号中的数据以逗号进行分割传递

如果逗号分割完是元组、列表或字典需要再使用@unpack装饰器进行解包;字典中的key必须和方法的key保持一致;

import unittest
from ddt import ddt, data, unpack


@ddt
class DdtStudy(unittest.TestCase):

    #元组
    @data((5, '星期一'),(6, '星期二')) 
    @unpack
    def test_01(self, a, b):
        print(('今天{}摄氏度' + '{}').format(a, b))

    #列表
    @data(['面条','包子'],['米饭',123])  #代表两组数据
    @unpack    #对@data分解的数据进行二次拆分
    def test_02(self, a, b):
        print(('中午吃{}'+'晚上吃{}').format(a,b))


    # 单个字典,拆分
    # @data里的数据key必须与方法里的key保持一致
    @data({"name": "jack", "age": 20})
    @unpack
    def test_10(self, name, age):
        print(name, age)
    
    # 多个字典, 拆分 数据key必须与方法里的key保持一
    @data({"name": "peter", "age": 18, "addr": "chengdu"}, {"name": "lily", "age": 19, "addr": "chengdu"})
    @unpack
    def test_11(self, name, age, addr):
        print('多个字典, 拆分')
        print(name,age,addr)
    

if __name__ == '__main__':
    unittest.TestCase()

@file_data()装饰器

@file_data('yaml文件')可以拆解yaml文件中的数据;

传的参数太多时,可以使用 **kwargs 整体传进来后,在使用['value']进行取值

yaml文件中的锚点和引用:

  • 锚点:使用 &锚点名 进行定义
  • 引用:使用 *锚点名  进行引用;
  • 追加:在原有的内容上,进行锚点引用后进行追加  使用 <<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃鱿鱼的大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值