@paramunittest测试框架参数化

本文介绍了如何使用unittest的paramunittest模块进行参数化测试,通过@example注解器传入多组测试数据,提高测试覆盖率。测试类需定义setParameters方法接收参数,并展示了test_login方法的执行示例。执行顺序遵循参数列表顺序,支持字典和元组格式的参数传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

当三个测试方法具有一定的统一性和相似性时,可以参数化精简成一个功能
参数化作用:
1、使测试数据的覆盖率更高
2、常用与web表单提交、检索
3、用于接口参数的字段类型、边界值测试
在unittest我们有一个模块可以实现它,就是paramunittest模块,可以将多个测试用例精简成一个用例
第三方包paramunittest的安装方法见上篇文章

二、过程

以注解器的方式注解我们的测试类@paramunittest.parametrized
而parametrized的函数封装中,可以进行参数传入
(def parametrized(*parameters_seq):),并将多组测试数据作为参数传入,实例如图:

import paramunittest

@paramunittest.parametrized(
    ('admin','admin12345','admin','test_login_admin is ok'),
    ('json','json123456','json','test_login_json is ok'),
    ('tom','tom123456','tom','test_login_tom is ok'))#注解器

class TestSearch(unittest.TestCase,Search):
    def setParameters(self,name,pwd,ass,txt):
        self.name=name
        self.pwd=pwd
        self.ass=ass
        self.txt=txt

    def test_login(self):
        self.get()
        self.login(self.name,self.pwd)
        sleep(1)
        assert self.element(self.user_name).text==self.ass
        print(self.txt)
        self.logout()
        sleep(1)

三、总结

1、参数需要使用@paramunittest.parametrized修饰;
2、参数可以传字典格式,也可以传入元祖类型都是可以的;
3、用例的执行顺序是按照参数里面的顺序进行执行的;
4、接收参数必须使用setParameters方法去接收参数;
ps:多行注释快捷键:选中要注释的多行代码,按组合键 Ctrl+/ 即可添加#
如果觉得博主这篇博客对大家有用,欢迎在评论区留下自己的‘脚印’ ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值