ddt.file_data方法处理yaml或者json

  • 一、ddt.file_data介绍
  1.      ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。
  2.      注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 yaml 类型处理,其他文件都会作为 json 文件处理。  
  3.      如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。    
  4.      如果文件是字典,字典的 key 会作为测试用例方法的后缀显示,字典的 value 会作为测试用例参数。 
  • 二、为什么要用ddt,希望数据和用例分开,没什么耦合性
  1. 创建数据
  2. 读取数据
  3. 编写用例 
  •     file_data处理字典数据类型,注意:其修饰的函数传的参数要和值的键保持一致,这里是以json文件为例

    

from ddt import ddt, file_data
import unittest
 
@ddt
class Test(unittest.TestCase):
 
    @file_data("D:\work_doc\CodeFile\dcs_class6\data.json")
    def test01(self, username, password):
        print(username, password)
 
if __name__ == '__main__':
    unittest.main()
 
# 运行结果如下
"""
Ran 3 tests in 0.004s
Evan 123456
Lvan 123456
Alex 123456
"""

  • file_data 处理列表类型数据 将列表作为一个整体的参数传入

    


import yaml
 
f = open("ddt_data.yaml", encoding="utf8")
print(yaml.load(f))
f.close()
 
# 运行结果如下
"""
[{
'url': 'http://cms.duoceshi.cn/xxx/xxxx/xxxxx', 
'method': 'post', 
'header': {'Content-Type': 'application/x-www-form-urlencoded'}, 
'params': {'userAccount': 'admin', 'loginPwd': 123456}
}]

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值