Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
I noticed this while reviewing#100252 (comment)
I believe the following test case should pass, but it doesn't on main
importunittestfromunittest.mockimportMock,sealclassAsyncClass:asyncdefasync_method(self):passdefnormal_method(self):passclassCase(unittest.TestCase):deftest_spec_normal_methods_on_class_with_mock_seal(self):mock=Mock(AsyncClass)seal(mock)# test passes, aka this raises AttributErrorwithself.assertRaises(AttributeError):mock.normal_method# test fails, aka this does not raise AttributErrorwithself.assertRaises(AttributeError):mock.async_methodunittest.main()
It's easy to fix, just need to move the clause that handles AsyncMock after theif self._mock_sealed: check.
cc@sobolevn who moved theif self._mock_sealed: check earlier inhttps://github.com/python/cpython/pull/28300/files , but not all the way