【unittest】9、unittest之参数化
1、说明
- 通过参数化的方式来传递数据,从而实现数据和脚本分离。并且可以实现用例的重复执行。unitest测试框架,本身不支持参数化,但是可以通过安装unittest扩展插件parameterized或ddt来实现
2、parameterized
- 使用场景:多个测试用例代码相同,只是测试数据不同和预期结果不同,可以把多个测试用例通过参数化技术合并为一个测试用例
- 安装
pip install parameterized- 使用方式
- 导包:
导包:from parameterized import parameterized- 使用@parameterized.expand装饰器可以为测试函数的参数进行参数化
- 举例:

3、ddt
- Data-Driven Tests(DDT)即数据驱动测试,可以实现不同数据运行同一个测试用例。ddt本质其实就是装饰器,一组数据一个场景
- ddt模块
- 一个类的装饰器ddt
- 三个方法装饰器:
- data:
- 包含多个传给测试用例的参数;可以是列表,元组,字典等
- 举例:

- fil_date
- 会从json或yaml中加载数据
- @file_data()装饰器会从json或yaml中加载数据。只有以“.yml” 和 “.yaml” 结尾的文件被加载为Yaml文件。所有其他格式文件都作为json文件加载,比如txt
- json方式
- 传递单层json文件
- json文件

- 测试函数

- 执行结果:

- 传递多层json文件
- json文件

- 测试函数

- 执行结果

- yaml方式
- 安装
pip install PyYAML- yaml

- 测试函数
本文来自博客园,作者:郭祺迦,转载请注明原文链接:https://www.cnblogs.com/guojie-guojie/p/4b1ea9967d3277bf2731650ddeefac1e.html

浙公网安备 33010602011771号