summaryrefslogtreecommitdiffstats
path: root/Lib/unittest
diff options
context:
space:
mode:
authorKushal Das <kushaldas@gmail.com>2014-04-16 20:06:14 (GMT)
committerKushal Das <kushaldas@gmail.com>2014-04-16 20:06:14 (GMT)
commit8af9db3e4fa17fb7add3f904a19d816f7787ee1c (patch)
tree18ffd4eb5f027edb0648bd32088bb455ef2a3c59 /Lib/unittest
parent8c14534df6c7bd561fac31985fba60306e181265 (diff)
downloadcpython-8af9db3e4fa17fb7add3f904a19d816f7787ee1c.zip
cpython-8af9db3e4fa17fb7add3f904a19d816f7787ee1c.tar.gz
cpython-8af9db3e4fa17fb7add3f904a19d816f7787ee1c.tar.bz2
Closes Issue 21262: New method assert_not_called for Mock.
It raises AssertionError if the mock has been called.
Diffstat (limited to 'Lib/unittest')
-rw-r--r--Lib/unittest/mock.py8
-rw-r--r--Lib/unittest/test/testmock/testmock.py9
2 files changed, 17 insertions, 0 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 48e7dd0..6c00bc6 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -758,6 +758,14 @@ class NonCallableMock(Base):
else:
return _call
+ def assert_not_called(_mock_self, *args, **kwargs):
+ """assert that the mock was never called.
+ """
+ self = _mock_self
+ if self.call_count != 0:
+ msg = ("Expected '%s' to not have been called. Called %s times." %
+ (self._mock_name or 'mock', self.call_count))
+ raise AssertionError(msg)
def assert_called_with(_mock_self, *args, **kwargs):
"""assert that the mock was called with the specified arguments.
diff --git a/Lib/unittest/test/testmock/testmock.py b/Lib/unittest/test/testmock/testmock.py
index 59353a0..b65dc32 100644
--- a/Lib/unittest/test/testmock/testmock.py
+++ b/Lib/unittest/test/testmock/testmock.py
@@ -1198,6 +1198,15 @@ class MockTest(unittest.TestCase):
m.assert_foo_call()
m.assret_foo_call()
+ #Issue21262
+ def test_assert_not_called(self):
+ m = Mock()
+ m.hello.assert_not_called()
+ m.hello()
+ with self.assertRaises(AssertionError):
+ m.hello.assert_not_called()
+
+
def test_mock_add_spec(self):
class _One(object):
one = 1