docs: Add references to AsyncMock in unittest.mock.patch (#13681)
Update the docs as patch can now return an AsyncMock if the patched object is an async function.
This commit is contained in:
parent
fa3a38d81f
commit
f5e7f39d29
|
@ -1307,8 +1307,10 @@ patch
|
||||||
is patched with a *new* object. When the function/with statement exits
|
is patched with a *new* object. When the function/with statement exits
|
||||||
the patch is undone.
|
the patch is undone.
|
||||||
|
|
||||||
If *new* is omitted, then the target is replaced with a
|
If *new* is omitted, then the target is replaced with an
|
||||||
:class:`MagicMock`. If :func:`patch` is used as a decorator and *new* is
|
:class:`AsyncMock` if the patched object is an async function or
|
||||||
|
a :class:`MagicMock` otherwise.
|
||||||
|
If :func:`patch` is used as a decorator and *new* is
|
||||||
omitted, the created mock is passed in as an extra argument to the
|
omitted, the created mock is passed in as an extra argument to the
|
||||||
decorated function. If :func:`patch` is used as a context manager the created
|
decorated function. If :func:`patch` is used as a context manager the created
|
||||||
mock is returned by the context manager.
|
mock is returned by the context manager.
|
||||||
|
@ -1326,8 +1328,8 @@ patch
|
||||||
patch to pass in the object being mocked as the spec/spec_set object.
|
patch to pass in the object being mocked as the spec/spec_set object.
|
||||||
|
|
||||||
*new_callable* allows you to specify a different class, or callable object,
|
*new_callable* allows you to specify a different class, or callable object,
|
||||||
that will be called to create the *new* object. By default :class:`MagicMock` is
|
that will be called to create the *new* object. By default :class:`AsyncMock`
|
||||||
used.
|
is used for async functions and :class:`MagicMock` for the rest.
|
||||||
|
|
||||||
A more powerful form of *spec* is *autospec*. If you set ``autospec=True``
|
A more powerful form of *spec* is *autospec*. If you set ``autospec=True``
|
||||||
then the mock will be created with a spec from the object being replaced.
|
then the mock will be created with a spec from the object being replaced.
|
||||||
|
@ -1491,6 +1493,10 @@ work as expected::
|
||||||
...
|
...
|
||||||
>>> test()
|
>>> test()
|
||||||
|
|
||||||
|
.. versionchanged:: 3.8
|
||||||
|
|
||||||
|
:func:`patch` now returns an :class:`AsyncMock` if the target is an async function.
|
||||||
|
|
||||||
|
|
||||||
patch.object
|
patch.object
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
@ -2275,6 +2281,12 @@ See :ref:`auto-speccing` for examples of how to use auto-speccing with
|
||||||
:func:`create_autospec` and the *autospec* argument to :func:`patch`.
|
:func:`create_autospec` and the *autospec* argument to :func:`patch`.
|
||||||
|
|
||||||
|
|
||||||
|
.. versionchanged:: 3.8
|
||||||
|
|
||||||
|
:func:`create_autospec` now returns an :class:`AsyncMock` if the target is
|
||||||
|
an async function.
|
||||||
|
|
||||||
|
|
||||||
ANY
|
ANY
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
|
@ -1631,8 +1631,9 @@ def patch(
|
||||||
is patched with a `new` object. When the function/with statement exits
|
is patched with a `new` object. When the function/with statement exits
|
||||||
the patch is undone.
|
the patch is undone.
|
||||||
|
|
||||||
If `new` is omitted, then the target is replaced with a
|
If `new` is omitted, then the target is replaced with an
|
||||||
`MagicMock`. If `patch` is used as a decorator and `new` is
|
`AsyncMock if the patched object is an async function or a
|
||||||
|
`MagicMock` otherwise. If `patch` is used as a decorator and `new` is
|
||||||
omitted, the created mock is passed in as an extra argument to the
|
omitted, the created mock is passed in as an extra argument to the
|
||||||
decorated function. If `patch` is used as a context manager the created
|
decorated function. If `patch` is used as a context manager the created
|
||||||
mock is returned by the context manager.
|
mock is returned by the context manager.
|
||||||
|
@ -1650,8 +1651,8 @@ def patch(
|
||||||
patch to pass in the object being mocked as the spec/spec_set object.
|
patch to pass in the object being mocked as the spec/spec_set object.
|
||||||
|
|
||||||
`new_callable` allows you to specify a different class, or callable object,
|
`new_callable` allows you to specify a different class, or callable object,
|
||||||
that will be called to create the `new` object. By default `MagicMock` is
|
that will be called to create the `new` object. By default `AsyncMock` is
|
||||||
used.
|
used for async functions and `MagicMock` for the rest.
|
||||||
|
|
||||||
A more powerful form of `spec` is `autospec`. If you set `autospec=True`
|
A more powerful form of `spec` is `autospec`. If you set `autospec=True`
|
||||||
then the mock will be created with a spec from the object being replaced.
|
then the mock will be created with a spec from the object being replaced.
|
||||||
|
|
Loading…
Reference in New Issue