51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【好消息】企业内训服务上线啦!项目为王,自动化测试提升加速器 !横扫BAT,Python全栈测试开发技能大全
【第119期】:如何快速成长为一个优秀的测试工程师?参与调查问卷 缔造行业趋势 月薪15K+的测试开发必备技能? 【活动】为视频UP主打CALL,互动领福利!
查看: 148|回复: 3

pytest 中 @pytest.mark.parametrize 和自定义装饰器结合使用的时候为什么参数一定...

[复制链接]
  • TA的每日心情
    奋斗
    2020-12-14 10:07
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2021-4-8 13:15:08 | 显示全部楼层 |阅读模式
    1测试积点
    可变参数的形式会报错
    1. def addlog(func):
    2.     def wrapper(self,*args,**kwargs):
    3.         print('装饰器开始')
    4.         func(self,*args,**kwargs)
    5.         print(args,kwargs)
    6.         print('装饰器结束')
    7.     return wrapper

    8. class TestObj:
    9.     data=[['aaa',11],['bbb',22]]
    10.     @user1ize("name,age",data)
    11.     @addlog
    12.     def test_A(self,name,age):
    13.         print('开始用例',name,age)
    复制代码

    换成不可变参数是可以正常运行的
    1. def addlog(func):
    2.     def wrapper(self,name,age):
    3.         print('装饰器开始')
    4.         func(self,name,age)
    5.         print(name,age)
    6.         print('装饰器结束')
    7.     return wrapper


    8. class TestObj:
    9.     data=[['aaa',11],['bbb',22]]
    10.     @user3ize("name,age",data)
    11.     @addlog
    12.     def test_A(self,name,age):
    13.         print('开始用例',name,age)
    复制代码

    请问结合使用的话,装饰器里面的参数为什么一定要为不可变参数?

    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 10:29
  • 签到天数: 701 天

    连续签到: 5 天

    [LV.9]测试副司令

    发表于 2021-4-9 10:43:08 | 显示全部楼层
    这个是规则
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 15:23
  • 签到天数: 1822 天

    连续签到: 5 天

    [LV.Master]测试大本营

    发表于 2021-4-9 14:29:04 | 显示全部楼层
    使用方法?
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 306 天

    连续签到: 2 天

    [LV.8]测试军长

    发表于 2021-4-9 15:34:45 | 显示全部楼层
    定义就是这样的?
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2021-4-17 15:52 , Processed in 0.058878 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2021 Comsenz Inc.

    快速回复 返回顶部 返回列表