8000 bpo-35685: Add examples of unittest.mock.patch.dict usage by eamanu · Pull Request #11456 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-35685: Add examples of unittest.mock.patch.dict usage #11456

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Sep 12, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add @berkerpeksag comments
  • Loading branch information
eamanu authored and JulienPalard committed Sep 12, 2019
commit 2d6d2321d59c51afbef00d3feef424a84a5247fc
21 changes: 11 additions & 10 deletions Doc/library/unittest.mock.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1573,8 +1573,9 @@ patch.dict
values in the dictionary.

:func:`patch.dict` can be used as a context manager, decorator or class
decorator.
decorator:

>>> import patch
>>> foo = {}
>>> @patch.dict(foo, {'newkey': 'newvalue'})
... def test():
Expand All @@ -1583,21 +1584,19 @@ decorator.
>>> assert foo == {}

When used as a class decorator :func:`patch.dict` honours
``patch.TEST_PREFIX`` for choosing which methods to wrap. The patchers
recognise methods that start with ``'test'`` as being test methods.
If you want to use a different prefix for your test, you can inform the
patchers of the different prefix by setting ``patch.TEST_PREFIX``.
``patch.TEST_PREFIX`` (default to ``'test'``) for choosing which methods to wrap:

>>> import os
>>> import unittest
>>> patch.TEST_PREFIX = 'foo'
>>> from unittest.mock import patch
>>> @patch.dict('os.environ', {'newkey': 'newvalue'})
... class TestSample(unittest.TestCase):
... def foo_sample(self):
... def test_sample(self):
... self.assertEqual(os.environ['newkey'], 'newvalue')
...
... def test_sample2(self):
... self.assertNotIn('newkey', os.environ.keys())

If you want to use a different prefix for your test, you can inform the
patchers of the different prefix by setting ``patch.TEST_PREFIX``. For
more details about how to change the value of see :ref:`test-prefix`.

.. versionchanged:: 3.8

Expand Down Expand Up @@ -1816,6 +1815,8 @@ builtin :func:`ord`::
101


.. _test-prefix:

TEST_PREFIX
~~~~~~~~~~~

Expand Down
0