我正在尝试向所需的类方法添加一个装饰器,并为此编写了以下代码。我需要这个来处理所有类似的课程。你知道吗
import allure
def class_method_dec(cls):
"""
Decorator function to decorate required class methods.
"""
if cls.method1:
cls.method1= allure.step(cls.method1)
if cls.method2:
cls.method2= allure.step(cls.method2)
if cls.method3:
cls.method3= allure.step(cls.method3)
return cls
@class_method_dec
class TestClass:
def __init__(self, a, b):
self.a = a
self.b = b
def method1(self):
"""
method docstring
"""
pass
def method2(self):
"""
method docstring
"""
pass
def method3(self):
"""
method docstring
"""
pass
这样做对吗?我在寻找最好的方法。你知道吗
另外,我知道我们可以函数工具.wrapps在修饰函数时保留docstring。当我们布置课堂时,是否需要这样的东西?你知道吗
在Satwik Kansal精彩的Metaprogramming in PythonIBM教程中,我发现了以下宝石:
Satwik首先定义了一个装饰器:
然后他创建了一个类包装器,将这个装饰器应用于一个类:
应用程序:
要在您的案例中使用它,请用您自己的
wait_random
decorator替换它。把你的职能变成一个装饰者。 例如在
classwrapper
中,用apply_allure
替换wait_random
:请阅读本教程以获取更多信息和解释
相关问题 更多 >
编程相关推荐