]> granicus.if.org Git - python/commitdiff
bpo-24758: Improve the error msg for unittest.mock.Mock()'s unsafe mode (#12991)
authorZackery Spytz <zspytz@gmail.com>
Wed, 8 May 2019 17:32:24 +0000 (11:32 -0600)
committerKushal Das <mail@kushaldas.in>
Wed, 8 May 2019 17:32:23 +0000 (23:02 +0530)
* bpo-24758: Improve the error msg for unittest.mock.Mock()'s unsafe mode

* Make the requested changes.

Lib/unittest/mock.py
Lib/unittest/test/testmock/testmock.py

index 1e8057d5f5bb5f7cbf2fb9b657e73a67da3dda02..47ed06c6f486afc99a67c345c3e4d2fdc14dc959 100644 (file)
@@ -572,7 +572,8 @@ class NonCallableMock(Base):
             raise AttributeError(name)
         if not self._mock_unsafe:
             if name.startswith(('assert', 'assret')):
-                raise AttributeError(name)
+                raise AttributeError("Attributes cannot start with 'assert' "
+                                     "or 'assret'")
 
         result = self._mock_children.get(name)
         if result is _deleted:
index 5f917dd20f1dde42e755240fd6abb549021b08e1..b20b8e20e7e6fd74d226fc138412432bb0001b28 100644 (file)
@@ -1453,9 +1453,10 @@ class MockTest(unittest.TestCase):
     #Issue21238
     def test_mock_unsafe(self):
         m = Mock()
-        with self.assertRaises(AttributeError):
+        msg = "Attributes cannot start with 'assert' or 'assret'"
+        with self.assertRaisesRegex(AttributeError, msg):
             m.assert_foo_call()
-        with self.assertRaises(AttributeError):
+        with self.assertRaisesRegex(AttributeError, msg):
             m.assret_foo_call()
         m = Mock(unsafe=True)
         m.assert_foo_call()