【发布时间】:2014-08-26 09:01:21
【问题描述】:
我需要的是这样的:
def method():
my_var = module.Class1() #actually calling Class1 constructor
...
我需要实现装饰器,一旦类定义与另一个类定义发生变化,就像这样:
@substitute(module.class1 = new_module.class2)
def method():
my_var = module.Class1() #actually calling new_module.class2 constructor
...
能否请您给我一些提示。
【问题讨论】:
-
你在使用线程吗?
-
可能是,但我认为可以避免。我需要它来测试。用假实现替换类,因为我们没有对项目进行适当的依赖注入
-
对,所以你是在模拟测试;为此使用
mock库。 -
模拟仍然可以帮助解决这个问题;您可以模拟解析驱动程序的方法或驱动程序对象本身。所有 Python 都是动态的,您可以修补的内容几乎没有限制。
标签: python python-2.7 decorator