我有一个与此类似的设置。
class A:
def send_it(some_data):
data = {}
....fill data
send('url',data)
class B(A):
def do_real_work():
... do stuff
self.send_it(some_data)`
我的目标是测试 B.do_real_work()。
我想做的是使用自定义实现来模拟 b.send_it() 方法,该实现允许我将数据对象分配给某些全局或实例变量,以便可以检查它。
在实际测试 do_real_work() 方法时,我无法弄清楚如何模拟方法 (send_it())。
最佳答案
您可以将模拟应用到正在调用的方法中。
from unittest.mock import MagicMock
b = B()
b.send_it = MagicMock()
b.do_real_work() # It calls MagicMock() instead of A.send_it()
关于python - 如何在 Python 中模拟继承的协作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232950/