L'histoire de la moquerie pour la méthode de l'objet.
class Foo(object):
def hello(self, v):
raise Exception("foo")
Par contre, lorsque vous vous moquez d'un objet, vous pouvez écrire comme suit
foo = Foo()
foo.hello = mock.Mock()
foo.hello.return_value = "yup"
assert foo.hello("bar") == "yup"
foo.hello.assert_called_once_with("bar")
Cependant, je pense qu'il est plus facile de voir si vous l'appelez via patch.
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