diff options
author | Michael Foord <michael@voidspace.org.uk> | 2012-04-13 15:57:22 (GMT) |
---|---|---|
committer | Michael Foord <michael@voidspace.org.uk> | 2012-04-13 15:57:22 (GMT) |
commit | c287062fcf8b891db3b982e628cb297165b766e2 (patch) | |
tree | e50e3acde7c9caa8583794e2c19916cd1422c28f /Lib/unittest | |
parent | 633b32a7fa7ba57dbb3d7fd6fbda00595cc135c8 (diff) | |
download | cpython-c287062fcf8b891db3b982e628cb297165b766e2.zip cpython-c287062fcf8b891db3b982e628cb297165b766e2.tar.gz cpython-c287062fcf8b891db3b982e628cb297165b766e2.tar.bz2 |
unittest.mock.PropertyMock return value and attributes are now standard MagicMocks
Diffstat (limited to 'Lib/unittest')
-rw-r--r-- | Lib/unittest/mock.py | 3 | ||||
-rw-r--r-- | Lib/unittest/test/testmock/testhelpers.py | 11 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py index 0a9aece..ec17542 100644 --- a/Lib/unittest/mock.py +++ b/Lib/unittest/mock.py @@ -2166,6 +2166,9 @@ class PropertyMock(Mock): Fetching a `PropertyMock` instance from an object calls the mock, with no args. Setting it calls the mock with the value being set. """ + def _get_child_mock(self, **kwargs): + return MagicMock(**kwargs) + def __get__(self, obj, obj_type): return self() def __set__(self, obj, val): diff --git a/Lib/unittest/test/testmock/testhelpers.py b/Lib/unittest/test/testmock/testhelpers.py index 3674778..a2ed100 100644 --- a/Lib/unittest/test/testmock/testhelpers.py +++ b/Lib/unittest/test/testmock/testhelpers.py @@ -831,5 +831,16 @@ class TestCallList(unittest.TestCase): p.stop() + def test_propertymock_returnvalue(self): + m = MagicMock() + p = PropertyMock() + type(m).foo = p + + returned = m.foo + p.assert_called_once_with() + self.assertIsInstance(returned, MagicMock) + self.assertNotIsInstance(returned, PropertyMock) + + if __name__ == '__main__': unittest.main() |