Introduce MockFixture as an alias to MockerFixture.
Before 3.3.0, the fixture class was named MockFixture, but was renamed to MockerFixture to better
match the mocker fixture. While not officially part of the API, it was later discovered that this broke
the code of some users which already imported pytest_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. The mocker fixture returns pytest_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 to Mock objects.
Use inspect.getattr_static instead of resorting to object.__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 example threading.Lock object), which will not emit that warning.
3.4.0 (2020-12-15)
Add mock.seal alias to the mocker fixture (#211). Thanks @coiax for the PR.
Fixed spying on exceptions not covered by the Exception superclass (#215), like KeyboardInterrupt -- PR #216 by @webknjaz.
Before the fix, both spy_return and spy_exception were always assigned to None whenever such an exception happened. And after this fix, spy_exception is set to a correct value of an exception that has actually happened.
3.3.1 (2020-08-24)
Introduce MockFixture as an alias to MockerFixture.
Before 3.3.0, the fixture class was named MockFixture, but was renamed to MockerFixture to better match the mocker fixture. While not officially part of the API, it was later discovered that this broke the code of some users which already imported pytest_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. The mocker fixture returns pytest_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 to Mock objects.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps pytest-mock from 3.1.1 to 3.5.1.
Release notes
Sourced from pytest-mock's releases.
Changelog
Sourced from pytest-mock's changelog.
Commits
0f19294
Release 3.5.1379b623
use getattr_static in spy instead of getattributes (#224)2de3e9a
Merge pull request #223 from nicoddemus/release-3.5.0cdd5d70
Update context-manager docs and prepare for 3.5.0f623fa8
Warn instead of raising exception in context manager (#221)5f6cab7
Merge pull request #220 from webknjaz/docs/216-changelog9771def
Fix typos in a change note for the PR #216d4e3f3e
Merge pull request #208 from pytest-dev/graingert-patch-1252eba8
Merge pull request #219 from nicoddemus/release-3.4.0df9ec17
Prepare release 3.4.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in the `.dependabot/config.yml` file in this repo: - Update frequency - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)