[Python-checkins] Add test for double patching instance methods (#11085)
Chris Withers
webhook-mailer at python.org
Wed Dec 12 02:56:38 EST 2018
https://github.com/python/cpython/commit/5a718e918db6211b633a7afb2bf537eb5b56cb1b
commit: 5a718e918db6211b633a7afb2bf537eb5b56cb1b
branch: master
author: Anthony Sottile <asottile at umich.edu>
committer: Chris Withers <chris at withers.org>
date: 2018-12-12T07:56:35Z
summary:
Add test for double patching instance methods (#11085)
files:
A Misc/NEWS.d/next/Tests/2018-12-10-13-18-37.bpo-26704.DBAN4c.rst
M Lib/unittest/test/testmock/testwith.py
diff --git a/Lib/unittest/test/testmock/testwith.py b/Lib/unittest/test/testmock/testwith.py
index 43b36a119952..ec4e540dcfd9 100644
--- a/Lib/unittest/test/testmock/testwith.py
+++ b/Lib/unittest/test/testmock/testwith.py
@@ -126,6 +126,20 @@ def test_dict_context_manager(self):
self.assertEqual(foo, {})
+ def test_double_patch_instance_method(self):
+ class C:
+ def f(self):
+ pass
+
+ c = C()
+
+ with patch.object(c, 'f', autospec=True) as patch1:
+ with patch.object(c, 'f', autospec=True) as patch2:
+ c.f()
+ self.assertEqual(patch2.call_count, 1)
+ self.assertEqual(patch1.call_count, 0)
+ c.f()
+ self.assertEqual(patch1.call_count, 1)
class TestMockOpen(unittest.TestCase):
diff --git a/Misc/NEWS.d/next/Tests/2018-12-10-13-18-37.bpo-26704.DBAN4c.rst b/Misc/NEWS.d/next/Tests/2018-12-10-13-18-37.bpo-26704.DBAN4c.rst
new file mode 100644
index 000000000000..458f495be483
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2018-12-10-13-18-37.bpo-26704.DBAN4c.rst
@@ -0,0 +1,2 @@
+Added test demonstrating double-patching of an instance method. Patch by
+Anthony Sottile.
More information about the Python-checkins
mailing list