Я пытаюсь понять, почему мне нужно использовать mocks, когда я могу просто заменить объект, который я хочу напрямую смоделировать.
Например, в этом надуманном примере
class Child:
def get(self):
return {0 : "SomeDictResult"}
class Root:
def __init__(self):
self.child = Child()
def get_info(self):
return self.child.get()
def test_get_info(root : Root):
root.child.get = lambda : {1 : "SomeOtherResult"} # This is where a mock would be
print(root.get_info())
вместо насмешливый, я заменяю get лямбда-функцией с пользовательским выводом. Зачем мне издеваться, если я мог бы заменить get
функцию