我想模拟一个对象,以便将来模块中的所有使用(通过导入)都将使用模拟的对象,而不是导入常规对象。
据我了解,使用mock
以常规方式模拟内容只会在当前名称空间(或指定的任何名称空间)中对其进行修改
代替使用该对象遍历所有名称空间,我可以自动模拟所有名称空间吗?
示例:
文件a.py
class A:
a = 2
文件b.py
from a import A
B = A.a
文件c.py
from a import A
from b import B
#mock A.a to return 4
print(A.a) # prints 4
print(B)
希望在这个最小的示例中很清楚。