Releases: pytest-dev/pytest-mock
3.6.1 (2021-05-06)
3.6.0 (2021-04-24)
- pytest-mock no longer supports Python 3.5.
- Correct type annotations for
mocker.patch.object
to also include the string form.
Thanks @plannigan for the PR (#235). reset_all
now supportsreturn_value
andside_effect
keyword arguments. Thanks @alex-marty for the PR (#214).
3.5.1 (2021-01-10)
- Use
inspect.getattr_static
instead of resorting toobject.__getattribute__
magic. This should better comply with objects which implement a custom descriptor
protocol. Thanks @yesthesoup for the PR (#224).
3.5.0 (2021-01-04)
- Now all patch functions will emit a warning instead of raising a
ValueError
when used
as a context-manager. Thanks @iforapsy for the PR (#221). - Additionally,
mocker.patch.context_manager
is available when the user intends to mock
a context manager (for examplethreading.Lock
object), which will not emit that
warning.
3.4.0 (2020-12-15)
-
Add [mock.seal]{.title-ref} alias to the [mocker]{.title-ref} fixture (#211). Thanks @coiax for the PR.
-
Fixed spying on exceptions not covered by the
Exception
superclass (#215), likeKeyboardInterrupt
-- PR #216
by @webknjaz.Before the fix, both
spy_return
andspy_exception
were always assigned toNone
whenever such an exception happened. And after this fix,
spy_exception
is set to a correct value of an exception
3.3.1 (2020-08-24)
-
Introduce
MockFixture
as an alias toMockerFixture
.Before
3.3.0
, the fixture class was namedMockFixture
, but was renamed toMockerFixture
to better
match themocker
fixture. While not officially part of the API, it was later discovered that this broke
the code of some users which already importedpytest_mock.MockFixture
for type annotations, so we
decided to reintroduce the name as an alias.Note however that this is just a stop gap measure, and new code should use
MockerFixture
for type annotations. -
Improved typing for
MockerFixture.patch
(#201). Thanks @srittau for the PR.
3.3.0 (2020-08-21)
-
pytest-mock
now includes inline type annotations and exposes them to user programs. Themocker
fixture returnspytest_mock.MockerFixture
, which can be used to annotate your tests:from pytest_mock import MockerFixture def test_foo(mocker: MockerFixture) -> None: ...
The type annotations were developed against mypy version
0.782
, the minimum version supported at the moment. If you run into an error that you believe to be incorrect, please open an issue.Many thanks to @staticdev for providing the initial patch #199.
3.2.0 (2020-07-11)
-
AsyncMock is now exposed in
mocker
and supports provides assertion introspection similar toMock
objects.Added by @tirkarthi in #197.
3.1.1 (2020-05-31)
- Fixed performance regression caused by the
ValueError
raised
whenmocker
is used as context manager (#191).