python ddt数据驱动二(json, yaml 驱动)

一、通过json文件驱动

import unittest
from ddt import ddt, file_data

@ddt
class MyTest(unittest.TestCase):

@file_data('test_data_list.json')
def test_data_list(self, value):
print(value)

# test_data_dict.json里的k-v必须是双引号格式
@file_data('test_data_dict.json')
def test_data_dict(self, value):
print(value)


if __name__ == '__main__':
unittest.main(verbosity=2)
 

二、通过yaml文件驱动
pip install pyyaml进行安装,直接import yaml,右键运行py文件,不报错,则为导入成功

 

PyYaml简介
YAML是一种容易阅读、适合表示程序语言的数据结构、可用于不同程序间交换数据、丰富的表达能力和可扩展性、易于使用的语言,通过缩进或符号来表示数据类型
Yaml提供了多种方法,常用的为yaml.load和yaml.dump

 

它的基本语法规则如下:
1、大小写敏感
2、使用缩进表示层级关系
3、缩进时不允许使用Tab键,只允许使用空格
4、缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
5、# 表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样

 

PyYaml文件编写格式
yaml文档除了可以通过dump进行转化之外,也可以根据yaml文档的格式进行编写

 

1、对象的一组键值对,使用冒号结构表示
2、一组减号开头的行,构成一个list
3、对象和数组可以结合使用,形成复合结构
4、~ 代表None
5、布尔类型 直接写bool: True False

 

YAML 支持的数据结构有三种:
1、对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
2、数组:一组按次序排列的值,又称为序列(sequence)/列表(list)
3、纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期

 

猜你喜欢

转载自www.cnblogs.com/laosun0204/p/12018309.html