- 一、ddt.file_data介绍
- ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。
- 注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 yaml 类型处理,其他文件都会作为 json 文件处理。
- 如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。
- 如果文件是字典,字典的 key 会作为测试用例方法的后缀显示,字典的 value 会作为测试用例参数。
- 二、为什么要用ddt,希望数据和用例分开,没什么耦合性
- 创建数据
- 读取数据
- 编写用例
- 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}
}]