在几个示例中,我遇到了一个非常奇怪的行为:mock.patch()
不适用于装饰器,但适用于上下文管理器,即使我使用的是相同的代码。
如果我设法正确地概括了这些示例,那么当我在一个文件中导入的类中对函数进行修补时,却在实现文件中对方法进行了修补,就会发生这种情况。
示例:
a.py
Class A:
def some_method()
b.py
def some_other_method():
A().some_method()
在这种情况下,我修补了a.A.some_method
。