首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python unittest框架参数化学习

参数化

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

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 进行安装

实战

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221228A09ABG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券