diff options
author | Mario Corchero <mcorcherojim@bloomberg.net> | 2019-09-09 15:18:06 +0100 |
---|---|---|
committer | Lisa Roach <lisaroach14@gmail.com> | 2019-09-09 15:18:06 +0100 |
commit | f5e7f39d2916ed150e80381faed125f405a11e11 (patch) | |
tree | d0304a363837b624ac4c141075015ebec04fa7ae /Lib/unittest | |
parent | Mark files as executable that are meant as scripts. (GH-15354) (diff) | |
download | cpython-f5e7f39d2916ed150e80381faed125f405a11e11.tar.gz cpython-f5e7f39d2916ed150e80381faed125f405a11e11.tar.bz2 cpython-f5e7f39d2916ed150e80381faed125f405a11e11.zip |
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.
Diffstat (limited to 'Lib/unittest')
-rw-r--r-- | Lib/unittest/mock.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py index c9194fff438..c26b367a4dc 100644 --- a/Lib/unittest/mock.py +++ b/Lib/unittest/mock.py @@ -1631,8 +1631,9 @@ def patch( is patched with a `new` object. When the function/with statement exits the patch is undone. - If `new` is omitted, then the target is replaced with a - `MagicMock`. If `patch` is used as a decorator and `new` is + If `new` is omitted, then the target is replaced with an + `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 decorated function. If `patch` is used as a context manager the created 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. `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 - used. + that will be called to create the `new` object. By default `AsyncMock` is + used for async functions and `MagicMock` for the rest. 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. |