gh-65454: avoid triggering call to a PropertyMock in NonCallableMock.__setattr__ (GH-120019)
(cherry picked from commit
9e9ee50421c857b443e2060274f17fb884d54473)
Co-authored-by: blhsing <blhsing@gmail.com>
p.assert_called_once_with()
+ def test_propertymock_attach(self):
+ m = Mock()
+ p = PropertyMock()
+ type(m).foo = p
+ m.attach_mock(p, 'foo')
+ self.assertEqual(m.mock_calls, [])
+
+
class TestCallablePredicate(unittest.TestCase):
def test_type(self):
mock_name = f'{self._extract_mock_name()}.{name}'
raise AttributeError(f'Cannot set {mock_name}')
+ if isinstance(value, PropertyMock):
+ self.__dict__[name] = value
+ return
return object.__setattr__(self, name, value)
--- /dev/null
+:func:`unittest.mock.Mock.attach_mock` no longer triggers a call to a ``PropertyMock`` being attached.