将单个装饰器应用于多种功能

caleb531

我已经进行了搜索,但是看到的结果却相反:将多个装饰器应用于单个函数。

我想简化这种模式。有没有办法将此单个装饰器应用于多种功能?如果没有,我该如何重写上面的内容以减少重复性?

from mock import patch

@patch('somelongmodulename.somelongmodulefunction')
def test_a(patched):
    pass  # test one behavior using the above function

@patch('somelongmodulename.somelongmodulefunction')
def test_b(patched):
    pass  # test another behavior

@patch('somelongmodulename.somelongmodulefunction')
def test_c(patched):
    pass  # test a third behavior
from mock import patch

patched_name = 'somelongmodulename.somelongmodulefunction'

@patch(patched_name)
def test_a(patched):
    pass  # test one behavior using the above function

@patch(patched_name)
def test_b(patched):
    pass  # test another behavior

@patch(patched_name)
def test_c(patched):
    pass  # test a third behavior
大卫主义

如果只想调用一次“ long”函数并用结果修饰所有三个函数,则只需执行此操作即可。

my_patch = patch('somelongmodulename.somelongmodulefunction')

@my_patch
def test_a(patched):
    pass

@my_patch
def test_b(patched):
    pass

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将多种样式应用于单个文本-Jetpack Compose

将多种功能应用于R中的数据框

将功能装饰器应用于所有文件的打印功能,而不必导入和/或重新应用?

将装饰器应用于导入的函数?

如何使用类装饰器将装饰器应用于所有类方法

装饰器未将渲染功能应用于流星+ React应用中的类原型

一次将多种功能应用于Pandas groupby对象

熊猫,将多列的多种功能应用于groupby对象

将多种功能应用于矩阵列表并在数据框中输出答案

将多种功能应用于数据透视表(分组)数据框

将功能应用于groupby功能

将功能列表应用于单个矩阵并保留功能名称

python-如何将装饰器应用于用C编写的Python函数?

仅将Flask MethodView装饰器应用于某些方法

JS TS将装饰器应用于所有方法/枚举类方法

如何将装饰器应用于Cython cpdef函数

将装饰器应用于访问类属性的类方法

如何将django @transaction装饰器应用于芹菜任务

将装饰器应用于视图-反向找不到URL

如何将装饰器应用于子类中的超类方法?

将装饰器应用于第三方类

将python装饰器应用于所有继承的类

将装饰器类应用于另一个类的方法

TypeError:将装饰器应用于生成器时,“ NoneType”对象不可迭代

Py.test-将变量从csv应用于装饰器?

在将装饰器设计模式应用于JavaScript代码时出现问题

如何将装饰器应用于任意函数并在闭包内调用它?

如何将装饰器应用于python中的子例程

将 ratelimit 装饰器应用于 auth views.py