Czy można sfałszować wartość zwracaną przez funkcję wywoływaną w ramach innej funkcji, którą próbuję przetestować? Chciałbym wyśmiewać metodę (która będzie wywoływana w wielu testowanych przeze mnie metodach), aby zwracać moje określone zmienne za każdym razem, gdy zostanie wywołana. Na przykład:Używanie makiety patch.object Pythona do zmiany wartości zwracanej metody wywołanej w innej metodzie
class Foo:
def method_1():
results = uses_some_other_method()
def method_n():
results = uses_some_other_method()
oraz w badanej jednostki, chciałbym użyć makiety, aby zmienić wartość zwracaną uses_some_other_method()
tak, że każdy czas jest nazywany w Foo
, zwróci to, co określono w @patch.object(...)
Dziękuję za wyjaśnienie różnicy między patchem a patch.object. –
jak "patch.object" dwie funkcje w tej samej klasie? –
@JacksonTale zaktualizował odpowiedź. – Silfheed