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.
Correct type annotations for mocker.patch.object to also include the string form. Thanks @plannigan for the PR (#235).
reset_all now supports return_value and side_effect keyword arguments. Thanks @alex-marty for the PR (#214).
3.5.1 (2021-01-10)
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.
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.6.0.
Release notes
Sourced from pytest-mock's releases.
Changelog
Sourced from pytest-mock's changelog.
... (truncated)
Commits
4716752
Drop Python 3.5 support3425616
Move setup.cfg to mypy.inic3e9aa1
Add resetall() arguments (#214)28ef007
Merge pull request #235 from plannigan/patch_dict_annotations6e5600d
Update changelog55e4be7
Correct type annotations in patch.dict()be33132
Merge pull request #233 from fhightower/2021-march-fix-broken-pytest-links58d7b2e
Fixing link to pytest assertions9d98658
Merge pull request #232 from pytest-dev/pre-commit-ci-update-configf01618d
[pre-commit.ci] pre-commit autoupdateDependabot 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)