mirror of https://github.com/python/cpython
bpo-24758: Improve the error msg for unittest.mock.Mock()'s unsafe mode (#12991)
* bpo-24758: Improve the error msg for unittest.mock.Mock()'s unsafe mode * Make the requested changes.
This commit is contained in:
parent
6bd81734de
commit
b9b08cd948
|
@ -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:
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue