summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2016-10-06 21:31:23 (GMT)
committerGregory P. Smith <greg@krypto.org>2016-10-06 21:31:23 (GMT)
commitac5084b6c760ff5e6469854373fe6c3c81804f87 (patch)
tree091838773df00af3922173237691abc99d9e3044
parent0ebdd0776c95a578ac9d25a27a34492144a04a0a (diff)
downloadcpython-ac5084b6c760ff5e6469854373fe6c3c81804f87.zip
cpython-ac5084b6c760ff5e6469854373fe6c3c81804f87.tar.gz
cpython-ac5084b6c760ff5e6469854373fe6c3c81804f87.tar.bz2
Fixes issue28380: unittest.mock Mock autospec functions now properly support
assert_called, assert_not_called, and assert_called_once.
-rw-r--r--Lib/unittest/mock.py9
-rw-r--r--Lib/unittest/test/testmock/testpatch.py6
-rw-r--r--Misc/NEWS3
3 files changed, 18 insertions, 0 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index eaa9c3d..f134919 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -193,6 +193,12 @@ def _setup_func(funcopy, mock):
def assert_called_with(*args, **kwargs):
return mock.assert_called_with(*args, **kwargs)
+ def assert_called(*args, **kwargs):
+ return mock.assert_called(*args, **kwargs)
+ def assert_not_called(*args, **kwargs):
+ return mock.assert_not_called(*args, **kwargs)
+ def assert_called_once(*args, **kwargs):
+ return mock.assert_called_once(*args, **kwargs)
def assert_called_once_with(*args, **kwargs):
return mock.assert_called_once_with(*args, **kwargs)
def assert_has_calls(*args, **kwargs):
@@ -223,6 +229,9 @@ def _setup_func(funcopy, mock):
funcopy.assert_has_calls = assert_has_calls
funcopy.assert_any_call = assert_any_call
funcopy.reset_mock = reset_mock
+ funcopy.assert_called = assert_called
+ funcopy.assert_not_called = assert_not_called
+ funcopy.assert_called_once = assert_called_once
mock._mock_delegate = funcopy
diff --git a/Lib/unittest/test/testmock/testpatch.py b/Lib/unittest/test/testmock/testpatch.py
index 2e0c08f..fe4ecef 100644
--- a/Lib/unittest/test/testmock/testpatch.py
+++ b/Lib/unittest/test/testmock/testpatch.py
@@ -969,8 +969,14 @@ class PatchTest(unittest.TestCase):
def test_autospec_function(self):
@patch('%s.function' % __name__, autospec=True)
def test(mock):
+ function.assert_not_called()
+ self.assertRaises(AssertionError, function.assert_called)
+ self.assertRaises(AssertionError, function.assert_called_once)
function(1)
+ self.assertRaises(AssertionError, function.assert_not_called)
function.assert_called_with(1)
+ function.assert_called()
+ function.assert_called_once()
function(2, 3)
function.assert_called_with(2, 3)
diff --git a/Misc/NEWS b/Misc/NEWS
index 5c5583a..b03cc81 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -53,6 +53,9 @@ Core and Builtins
Library
-------
+- Issue #28380: unittest.mock Mock autospec functions now properly support
+ assert_called, assert_not_called, and assert_called_once.
+
- Issue #27181 remove statistics.geometric_mean and defer until 3.7.
- Issue #28229: lzma module now supports pathlib.