mock v3.0.0 Release Notes
Release Date: 2019-05-02 // almost 5 years ago-
โ Issue #35226: Recursively check arguments when testing for equality of :class:
unittest.mock.call
objects and add note that tracking of parameters used to create ancestors of mocks inmock_calls
is not possible.Issue #31177: Fix bug that prevented using :meth:
reset_mock <unittest.mock.Mock.reset_mock>
on mock instances with deleted attributesโ Issue #26704: Added test demonstrating double-patching of an instance method. Patch by Anthony Sottile.
Issue #35500: Write expected and actual call parameters on separate lines in :meth:
unittest.mock.Mock.assert_called_with
assertion errors. Contributed by Susan Su.๐คก Issue #35330: When a :class:
Mock
instance was used to wrap an object, ifside_effect
is used in one of the mocks of it methods, don't call the original implementation and return the result of using the side effect the same way that it is done with return_value.๐คก Issue #30541: Add new function to seal a mock and prevent the automatically creation of child mocks. Patch by Mario Corchero.
โ Issue #35022: :class:
unittest.mock.MagicMock
now supports the__fspath__
method (from :class:os.PathLike
).โ Issue #33516: :class:
unittest.mock.MagicMock
now supports the__round__
magic method.โ Issue #35512: :func:
unittest.mock.patch.dict
used as a decorator with string target resolves the target during function call instead of during decorator construction. Patch by Karthikeyan Singaravelan.Issue #36366: Calling
stop()
on an unstarted or stopped :func:unittest.mock.patch
object will now returnNone
instead of raising :exc:RuntimeError
, making the method idempotent. Patch byKarthikeyan Singaravelan.โ Issue #35357: Internal attributes' names of unittest.mock.Call and unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with _mock in order to prevent clashes with widely used object attributes. Fixed minor typo in test function name.
Issue #20239: Allow repeated assignment deletion of :class:
unittest.mock.Mock
attributes. Patch by Pablo Galindo.Issue #35082: Don't return deleted attributes when calling dir on a :class:
unittest.mock.Mock
.Issue #0: Improved an error message when mock assert_has_calls fails.
๐ Issue #23078: Add support for :func:
classmethod
and :func:staticmethod
to :func:unittest.mock.create_autospec
. Initial patch by Felipe Ochoa.Issue #21478: Calls to a child function created with :func:
unittest.mock.create_autospec
should propagate to the parent. Patch by Karthikeyan Singaravelan.๐คก Issue #36598: Fix
isinstance
check for Mock objects with spec when the code is executed under tracing. Patch by Karthikeyan Singaravelan.โ Issue #32933: :func:
unittest.mock.mock_open
now supports iteration over the file contents. Patch by Tony Flury.๐คก Issue #21269: Add
args
andkwargs
properties to mock call objects. Contributed by Kumar Akshay.Issue #17185: Set
__signature__
on mock for :mod:inspect
to get signature. Patch by Karthikeyan Singaravelan.โ Issue #35047:
unittest.mock
now includes mock calls in exception messages ifassert_not_called
,assert_called_once
, orassert_called_once_with
fails. Patch by Petter Strandmark.โ Issue #28380: unittest.mock Mock autospec functions now properly support assert_called, assert_not_called, and assert_called_once.
๐คก Issue #28735: Fixed the comparison of mock.MagickMock with mock.ANY.
โ Issue #20804: The unittest.mock.sentinel attributes now preserve their identity when they are copied or pickled.
โ Issue #28961: Fix unittest.mock._Call helper: don't ignore the name parameter anymore. Patch written by Jiajun Huang.
โ Issue #26750: unittest.mock.create_autospec() now works properly for subclasses of property() and other data descriptors.
Issue #21271: New keyword only parameters in reset_mock call.
๐คก Issue #26807: mock_open 'files' no longer error on readline at end of file. Patch from Yolanda Robla.
๐คก Issue #25195: Fix a regression in mock.MagicMock. Call is a subclass of tuple (changeset 3603bae63c13 only works for classes) so we need to implement __ne_ ourselves. Patch by Andrew Plummer.