diff --git a/NEWS b/NEWS index 7ad0da64df26f014416a7bfac4e64f5b431c51d0..6b70b69e2304a321cb5bd4d1c348f88e7e6da59a 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ +- Issue #15323: improve failure message of Mock.assert_called_once_with + - Issue #14857: fix regression in references to PEP 3135 implicit __class__ closure variable (Reopens issue #12370) diff --git a/mock.py b/mock.py index e47f3b142fcb5a64e5e40e3e629daa9fcb7abdc5..39b0dd22ecaf4b89cbee294276d0f8f804afac1b 100644 --- a/mock.py +++ b/mock.py @@ -864,8 +864,8 @@ class NonCallableMock(Base): arguments.""" self = _mock_self if not self.call_count == 1: - msg = ("Expected to be called once. Called %s times." % - self.call_count) + msg = ("Expected '%s' to be called once. Called %s times." % + (self._mock_name or 'mock', self.call_count)) raise AssertionError(msg) return self.assert_called_with(*args, **kwargs) diff --git a/tests/testmock.py b/tests/testmock.py index b933e90f2840719f93378a19e90996064eb71f6e..d788ba0c2d4872fdf92a34b95ad5568982fa4f8d 100644 --- a/tests/testmock.py +++ b/tests/testmock.py @@ -486,6 +486,13 @@ class MockTest(unittest.TestCase): mock.assert_called_with) + def test_assert_called_once_with_message(self): + mock = Mock(name='geoffrey') + self.assertRaisesRegex(AssertionError, + r"Expected 'geoffrey' to be called once\.", + mock.assert_called_once_with) + + def test__name__(self): mock = Mock() self.assertRaises(AttributeError, lambda: mock.__name__)