python unittest框架参数化学习

python unittest框架参数化学习

解决方案goocz2025-06-29 5:53:554A+A-

参数化

有些测试用例会考虑正向、逆向、边界、极端等情况,一个测试方法上会有多种不同的参数,使用参数化可以实现参数数据和脚本分离,可以管理大量参数数据,循环执行测试用例,提高代码复用率。

unittest框架本身不支持参数化,实现参数化需要配合第三方库实现。使用比较简单的就是ddt和paramterized。

ddt

ddt(Data Driven Testing)即数据驱动测试,ddt可以完美应用于unittest框架实现参数化,ddt通过装饰器的方式来调用,装饰器有类装饰器和函数装饰器两种。

安装

通过命令pip install ddt 进行安装,也可以在pycharm中安装,如下图所示:

实战

测试用例代码如下所示:

类装饰器@ddt表示类使用ddt

方法装饰器@data()传递参数,可以传递单个参数,参数数组,参数元组,参数字典等

方法装饰器@unpack用来拆分参数数据,可以拆分元组、列表、字典

方法装饰器@file_data("参数文件路径")用来导入外部参数文件,参数文件可以是josn文件和yaml文件,参数文件里的属性要和方法形参对应。如下图所示:

如果参数文件是txt文件,需要先读取txt文件,再使用@data装饰器填入参数,方法名前加*号,如下图所示:

parameterized

parameterized库的使用方法和ddt类似,不需要使用类装饰器,只使用方法装饰器@parameterized.expand就可以对参数进行参数化了。

安装

通过命令pip install parameterized 进行安装

实战

测试用例代码如下图所示:

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5