Unittest参数化

1. 为什么要使用参数化
有些用例会考虑正向、逆向等多种组合,在同一个方法上测试不同的参数,这时候就需要考虑使用什么方法来进行管理大量测试数据,循环执行用例,提高代码的复用率。UnitTest提供了两种参数化方法,分别是ddt方法和paramunittest方法,两种方法都类似,可以传入多组参数,自动生成多个用例,下面就来介绍两个方法分别怎么使用。

2. ddt方法
2.1 ddt介绍
ddt即data driver test,数据驱动测试,简单来说就是测试数据的参数化。

2.2 ddt安装
使用pip下载安装ddt:

pip install ddt

或者使用豆瓣源安装pip install -i Simple Index ddt

2.3 ddt实战
1,首先声明一个@ddt,让程序知道我们要使用ddt了
2,使用@data来设定待测参数
3,使用@unpack来拆分数据,根据“,”来进行拆分
4,导入外部数据:@file_data

 

@unpack使用:拆分数据,可以拆分列表,元组,字典

列表测试:

 

 元组测试:

 

 

字典测试:

 

读取文件填入参数

1.新建一个txt文件:

 

 

 

2.读取文件中的内容,填入参数

 

 @file_data:文件参数化,导入外部文件

1、新建一个文件,如:ddt_data_file.json,也可以是yaml文件,使用yaml文件需要安装yaml: pip install pyyaml

2、传入文件地址

json文件内容

 

 

yaml文件内容

 

 

3. paramunittest
可以传入多组参数,自动生成多个用例,与ddt是一样的效果

环境准备:

1、使用pip下载安装paramunittest

pip install paramunittest或者使用豆瓣源,快一点

pip install -i Simple Index paramunittest

2、参数可以传元组也可以传字典

3、注意接受参数时,必须要定义setParameters这个方法,并且只能是这个名称。括号后面的参数分别接受传入的参数名称。前面定义的是字典,那参数就跟前面字典的key保持一致

 

 

 

 4、执行顺序是先执行0,1,再执行10,11,12依次来的,设计就是如此,与前面的ddt是同样的

5、也可以传元组类型

 

 

 

 


————————————————
版权声明:本文为CSDN博主「哆啦A梦__-」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37846872/article/details/121531237

posted @ 2022-06-21 09:12  .kalo  阅读(357)  评论(0)    收藏  举报