Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.0.0
->==5.1.0
Release Notes
testing-cabal/mock (mock)
v5.1.0
Compare Source
bpo-44185: :func:
unittest.mock.mock_open
will call the :func:close
method of the file handle mock when it is exiting from the context
manager. Patch by Samet Yaslan.
gh-94924: :func:
unittest.mock.create_autospec
now properly returnscoroutine functions compatible with :func:
inspect.iscoroutinefunction
bpo-17013: Add
ThreadingMock
to :mod:unittest.mock
that can be usedto create Mock objects that can wait until they are called. Patch by
Karthikeyan Singaravelan and Mario Corchero.
bpo-41768: :mod:
unittest.mock
speccing no longer calls class properties.Patch by Melanie Witt.
v5.0.2
Compare Source
gh-102978: Fixes :func:
unittest.mock.patch
not enforcing functionsignatures for methods decorated with
@classmethod
or@staticmethod
when patch is called withautospec=True
.gh-103329: Regression tests for the behaviour of
unittest.mock.PropertyMock
were added.v5.0.1
Compare Source
gh-100740: Fix
unittest.mock.Mock
not respecting the spec forattribute names prefixed with
assert
.gh-100690:
Mock
objects which are not unsafe will now raise anAttributeError
when accessing an attribute that matches the name of anassertion but without the prefix
assert_
, e.g. accessingcalled_once
instead ofassert_called_once
. This is in addition tothis already happening for accessing attributes with prefixes
assert
,assret
,asert
,aseert
, andassrt
.gh-96127:
inspect.signature
was raisingTypeError
on call withmock objects. Now it correctly returns
(*args, **kwargs)
as inferedsignature.
v5.0.0
Compare Source
gh-98624: Add a mutex to unittest.mock.NonCallableMock to protect
concurrent access to mock attributes.
bpo-43478: Mocks can no longer be used as the specs for other Mocks. As a
result, an already-mocked object cannot have an attribute mocked using
autospec=True
or be the subject of acreate_autospec(...)
call. Thiscan uncover bugs in tests since these Mock-derived Mocks will always pass
certain tests (e.g. isinstance) and builtin assert functions (e.g.
assert_called_once_with) will unconditionally pass.
bpo-45156: Fixes infinite loop on :func:
unittest.mock.seal
of mockscreated by :func:
~unittest.create_autospec
.bpo-41403: Make :meth:
mock.patch
raise a :exc:TypeError
with arelevant error message on invalid arg. Previously it allowed a cryptic
:exc:
AttributeError
to escape.gh-91803: Fix an error when using a method of objects mocked with
:func:
unittest.mock.create_autospec
after it was sealed with:func:
unittest.mock.seal
function.bpo-41877: AttributeError for suspected misspellings of assertions on
mocks are now pointing out that the cause are misspelled assertions and
also what to do if the misspelling is actually an intended attribute name.
The unittest.mock document is also updated to reflect the current set of
recognised misspellings.
bpo-43478: Mocks can no longer be provided as the specs for other Mocks.
As a result, an already-mocked object cannot be passed to
mock.Mock()
.This can uncover bugs in tests since these Mock-derived Mocks will always
pass certain tests (e.g. isinstance) and builtin assert functions (e.g.
assert_called_once_with) will unconditionally pass.
bpo-45010: Remove support of special method
__div__
in:mod:
unittest.mock
. It is not used in Python 3.gh-84753: :func:
inspect.iscoroutinefunction
now properly returnsTrue
when an instance of :class:unittest.mock.AsyncMock
is passed toit. This makes it consistent with behavior of
:func:
asyncio.iscoroutinefunction
. Patch by Mehdi ABAAKOUK.bpo-46852: Remove the undocumented private
float.__set_format__()
method, previously known as
float.__setformat__()
in Python 3.7. Itsdocstring said: "You probably don't want to use this function. It exists
mainly to be used in Python's test suite." Patch by Victor Stinner.
gh-98086: Make sure
patch.dict()
can be applied on async functions.gh-100287: Fix the interaction of :func:
unittest.mock.seal
with:class:
unittest.mock.AsyncMock
.gh-83076: Instantiation of
Mock()
andAsyncMock()
is now 3.8xfaster.
bpo-41877: A check is added against misspellings of autospect, auto_spec
and set_spec being passed as arguments to patch, patch.object and
create_autospec.
v4.0.3
Compare Source
bpo-42532: Remove unexpected call of
__bool__
when passing aspec_arg
argument to a Mock.bpo-39966: Revert bpo-25597. :class:
unittest.mock.MagicMock
withwraps' set uses default return values for magic methods.
bpo-41877: Mock objects which are not unsafe will now raise an
AttributeError if an attribute with the prefix asert, aseert, or assrt is
accessed, in addition to this already happening for the prefixes assert or
assret.
bpo-40126: Fixed reverting multiple patches in unittest.mock. Patcher's
__exit__()
is now never called if its__enter__()
is failed.Returning true from
__exit__()
silences now the exception.v4.0.2
Compare Source
unittest.mock.AsyncMock.await_args_list
hascall objects in the order of awaited arguments instead of using
:attr:
unittest.mock.Mock.call_args
which has the last value of the call.Patch by Karthikeyan Singaravelan.
v4.0.1
Compare Source
v4.0.0
Compare Source
v3.0.5
Compare Source
unittest.mock.mock_open
results now respects theargument of read([size]). Patch contributed by Rémi Lapeyre.
v3.0.4
Compare Source
v3.0.3
Compare Source
unicode on Python 2.
v3.0.2
Compare Source
funcsigs
dependency on Python 2.v3.0.1
Compare Source
six
was missed as a dependency.v3.0.0
Compare Source
bpo-35226: Recursively check arguments when testing for equality of
:class:
unittest.mock.call
objects and add note that tracking ofparameters used to create ancestors of mocks in
mock_calls
is notpossible.
bpo-31177: Fix bug that prevented using :meth:
reset_mock <unittest.mock.Mock.reset_mock>
on mock instances with deleted attributesbpo-26704: Added test demonstrating double-patching of an instance
method. Patch by Anthony Sottile.
bpo-35500: Write expected and actual call parameters on separate lines
in :meth:
unittest.mock.Mock.assert_called_with
assertion errors.Contributed by Susan Su.
bpo-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 theoriginal implementation and return the result of using the side effect the
same way that it is done with return_value.
bpo-30541: Add new function to seal a mock and prevent the
automatically creation of child mocks. Patch by Mario Corchero.
bpo-35022: :class:
unittest.mock.MagicMock
now supports the__fspath__
method (from :class:os.PathLike
).bpo-33516: :class:
unittest.mock.MagicMock
now supports the__round__
magic method.bpo-35512: :func:
unittest.mock.patch.dict
used as a decorator withstring target resolves the target during function call instead of during
decorator construction. Patch by Karthikeyan Singaravelan.
bpo-36366: Calling
stop()
on an unstarted or stopped:func:
unittest.mock.patch
object will now returnNone
instead ofraising :exc:
RuntimeError
, making the method idempotent. PatchbyKarthikeyan Singaravelan.
bpo-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.
bpo-20239: Allow repeated assignment deletion of
:class:
unittest.mock.Mock
attributes. Patch by Pablo Galindo.bpo-35082: Don't return deleted attributes when calling dir on a
:class:
unittest.mock.Mock
.bpo-0: Improved an error message when mock assert_has_calls fails.
bpo-23078: Add support for :func:
classmethod
and :func:staticmethod
to :func:
unittest.mock.create_autospec
. Initial patch by Felipe Ochoa.bpo-21478: Calls to a child function created with
:func:
unittest.mock.create_autospec
should propagate to the parent.Patch by Karthikeyan Singaravelan.
bpo-36598: Fix
isinstance
check for Mock objects with spec when thecode is executed under tracing. Patch by Karthikeyan Singaravelan.
bpo-32933: :func:
unittest.mock.mock_open
now supports iteration overthe file contents. Patch by Tony Flury.
bpo-21269: Add
args
andkwargs
properties to mock call objects.Contributed by Kumar Akshay.
bpo-17185: Set
__signature__
on mock for :mod:inspect
to getsignature. Patch by Karthikeyan Singaravelan.
bpo-35047:
unittest.mock
now includes mock calls in exceptionmessages if
assert_not_called
,assert_called_once
, orassert_called_once_with
fails. Patch by Petter Strandmark.bpo-28380: unittest.mock Mock autospec functions now properly support
assert_called, assert_not_called, and assert_called_once.
bpo-28735: Fixed the comparison of mock.MagickMock with mock.ANY.
bpo-20804: The unittest.mock.sentinel attributes now preserve their
identity when they are copied or pickled.
bpo-28961: Fix unittest.mock._Call helper: don't ignore the name parameter
anymore. Patch written by Jiajun Huang.
bpo-26750: unittest.mock.create_autospec() now works properly for
subclasses of property() and other data descriptors.
bpo-21271: New keyword only parameters in reset_mock call.
bpo-26807: mock_open 'files' no longer error on readline at end of file.
Patch from Yolanda Robla.
bpo-25195: Fix a regression in mock.MagicMock. _Call is a subclass of
tuple (changeset
3603bae
only works for classes) so we need toimplement ne ourselves. Patch by Andrew Plummer.
Configuration
📅 Schedule: Branch creation - "* * * * 0,6" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.