【发布时间】:2017-08-20 14:45:28
【问题描述】:
我希望添加一个在某些测试中运行录像机的装饰器,如下所示:
@decorators.video(self)
def test_1234(self):
...
我无法将 self 变量传递给装饰器,因为它需要一些属性。我该怎么做?
【问题讨论】:
-
如果你认为你需要这个,你在这里做的事情非常错了。请显示装饰器的代码。
-
在方法装饰器执行的时候,类还没有被创建,所以实例没有办法。然而,包装函数被调用时的第一个参数,因为它是包装方法的第一个参数,是实例
self。您可以在调用时访问它,而不是在装饰时访问它。
标签: python unit-testing python-decorators