bpo-37828: Fix default mock_name in unittest.mock.assert_called error (GH-16166)

In the format string for assert_called the evaluation order is incorrect and hence for mock's without name, 'None' is printed whereas it should be 'mock' like for other messages. The error message is ("Expected '%s' to have been called." % self._mock_name or 'mock').
This commit is contained in:
Abraham Toriz Cruz 2019-09-17 06:16:08 -05:00 committed by Pablo Galindo
parent 219fb9d65e
commit 5f5f11faf9
3 changed files with 11 additions and 1 deletions

View file

@ -868,7 +868,7 @@ class NonCallableMock(Base):
"""
if self.call_count == 0:
msg = ("Expected '%s' to have been called." %
self._mock_name or 'mock')
(self._mock_name or 'mock'))
raise AssertionError(msg)
def assert_called_once(self):