bpo-28911: Clarify the behaviour of assert_called_once_with. (#251)

This commit is contained in:
Arne de Laat 2017-02-23 15:57:25 +01:00 committed by Victor Stinner
parent d7e64337ef
commit 324c5d8ca6
2 changed files with 8 additions and 7 deletions

View file

@ -303,14 +303,14 @@ the *new_callable* argument to :func:`patch`.
.. method:: assert_called_once_with(*args, **kwargs)
Assert that the mock was called exactly once and with the specified
arguments.
Assert that the mock was called exactly once and that that call was
with the specified arguments.
>>> mock = Mock(return_value=None)
>>> mock('foo', bar='baz')
>>> mock.assert_called_once_with('foo', bar='baz')
>>> mock('foo', bar='baz')
>>> mock.assert_called_once_with('foo', bar='baz')
>>> mock('other', bar='values')
>>> mock.assert_called_once_with('other', bar='values')
Traceback (most recent call last):
...
AssertionError: Expected 'mock' to be called once. Called 2 times.
@ -322,7 +322,8 @@ the *new_callable* argument to :func:`patch`.
The assert passes if the mock has *ever* been called, unlike
:meth:`assert_called_with` and :meth:`assert_called_once_with` that
only pass if the call is the most recent one.
only pass if the call is the most recent one, and in the case of
:meth:`assert_called_once_with` it must also be the only call.
>>> mock = Mock(return_value=None)
>>> mock(1, 2, arg='thing')