summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorsobolevn <mail@sobolevn.me>2024-09-26 12:06:52 (GMT)
committerGitHub <noreply@github.com>2024-09-26 12:06:52 (GMT)
commit19fed6cf6eb51044fd0c02c6338259e2dd7fd462 (patch)
treed840d729ee5771109d3dd63cc06bc12e4ccea498 /Doc
parentf923605658a29ff9af5a62edc1fc10191977627b (diff)
downloadcpython-19fed6cf6eb51044fd0c02c6338259e2dd7fd462.zip
cpython-19fed6cf6eb51044fd0c02c6338259e2dd7fd462.tar.gz
cpython-19fed6cf6eb51044fd0c02c6338259e2dd7fd462.tar.bz2
gh-124234: Improve docs for `Mock.reset_mock` (#124237)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/unittest.mock.rst43
1 files changed, 33 insertions, 10 deletions
diff --git a/Doc/library/unittest.mock.rst b/Doc/library/unittest.mock.rst
index d603a16..cc2b1b4 100644
--- a/Doc/library/unittest.mock.rst
+++ b/Doc/library/unittest.mock.rst
@@ -401,6 +401,8 @@ the *new_callable* argument to :func:`patch`.
The reset_mock method resets all the call attributes on a mock object:
+ .. doctest::
+
>>> mock = Mock(return_value=None)
>>> mock('hello')
>>> mock.called
@@ -409,20 +411,41 @@ the *new_callable* argument to :func:`patch`.
>>> mock.called
False
- .. versionchanged:: 3.6
- Added two keyword-only arguments to the reset_mock function.
-
This can be useful where you want to make a series of assertions that
- reuse the same object. Note that :meth:`reset_mock` *doesn't* clear the
+ reuse the same object.
+
+ *return_value* parameter when set to ``True`` resets :attr:`return_value`:
+
+ .. doctest::
+
+ >>> mock = Mock(return_value=5)
+ >>> mock('hello')
+ 5
+ >>> mock.reset_mock(return_value=True)
+ >>> mock('hello') # doctest: +ELLIPSIS
+ <Mock name='mock()' id='...'>
+
+ *side_effect* parameter when set to ``True`` resets :attr:`side_effect`:
+
+ .. doctest::
+
+ >>> mock = Mock(side_effect=ValueError)
+ >>> mock('hello')
+ Traceback (most recent call last):
+ ...
+ ValueError
+ >>> mock.reset_mock(side_effect=True)
+ >>> mock('hello') # doctest: +ELLIPSIS
+ <Mock name='mock()' id='...'>
+
+ Note that :meth:`reset_mock` *doesn't* clear the
:attr:`return_value`, :attr:`side_effect` or any child attributes you have
- set using normal assignment by default. In case you want to reset
- :attr:`return_value` or :attr:`side_effect`, then pass the corresponding
- parameter as ``True``. Child mocks and the return value mock
- (if any) are reset as well.
+ set using normal assignment by default.
- .. note:: *return_value*, and *side_effect* are keyword-only
- arguments.
+ Child mocks are reset as well.
+ .. versionchanged:: 3.6
+ Added two keyword-only arguments to the reset_mock function.
.. method:: mock_add_spec(spec, spec_set=False)