Die Geschichte des Scheines für die Methode des Objekts.
class Foo(object):
def hello(self, v):
raise Exception("foo")
Wenn Sie sich dagegen über ein Objekt lustig machen, können Sie wie folgt schreiben
foo = Foo()
foo.hello = mock.Mock()
foo.hello.return_value = "yup"
assert foo.hello("bar") == "yup"
foo.hello.assert_called_once_with("bar")
Ich bin jedoch der Meinung, dass es einfacher ist zu sehen, ob Sie es per Patch anwenden.
foo = Foo()
with mock.patch.object(foo, "hello") as hello:
hello.return_value = "yup"
assert foo.hello("bar") == "yup"
hello.assert_called_once_with("bar")
Recommended Posts