All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Drop support for Python 3.7 (now EOL)
- Add support for Python 3.12
- Add support for pytest versions 8.0 and 8.1
- Relax pytest version pin to allow all versions under 9.x
- Add
py.typed
file to package to enable mypy static type checking - Expose minimal generic typing on
LambdaFixture
- Avoid crash when running under PyCharm/pydev debugger due to
LambdaFixture.__class__
property
- Preserve declared order of arguments with
wrap_fixture
(decorated method's first, then wrapped fixture's, thenrequest
) - DOC: add destructuring examples to README
- Due to destructured parametrization now being powered by a custom
pytest_generate_tests
hook, incompatibilities may have been introduced. Out of caution, the major version has been bumped.
- Add support for destructuring referential tuple lambda fixtures (e.g.
x, y, z = lambda_fixture('a', 'b', 'c')
) - Add support for destructuring parametrized lambda fixtures (e.g.
a, b, c = lambda_fixture(params=[pytest.param('ayy', 'bee', 'see')])
)
- Add support for async/awaitable fixtures
- Add support for pytest versions 7.0 and 7.1
- Relax pytest version pin to allow all versions under 8.x
- Avoid
ValueError: wrapper has not been initialized
when using implicit referential lambda fixtures (e.g.name = lambda_fixture()
) in combination withpy.test --doctest-modules
- Add support for pytest version 6.2
- Relax pytest version pin to allow all versions under 7.x
- Resolve error in
py.test --fixtures
due to__module__
not properly being curried to fixture func
- Resolve error in
py.test --fixtures
when usingerror_fixture
,not_implemented_fixture
, ordisabled_fixture
- Add support for pytest version 6.1
- Allow certain arguments of wrapped fixture to be ignored w/ @wrap_fixture
- Add support for pytest versions 4.6, 5.0, 5.1, 5.2, 5.3, 5.4, and 6.0
- Introduced
wrap_fixture
utility to extend fixtures while currying method signatures to feed pytest's dependency graph
- Removed injection of pytest-lambda attrs into the
pytest
namespace
- Resolve error when executing
py.test --fixtures
- Allow conditional raising of exceptions with
error_fixture
- Updated README with more succinct examples, and titles for example sections
lambda_fixture
,static_fixture
,error_fixture
,disabled_fixture
, andnot_implemented_fixture
- Totes rad README (that can actually be run with pytest! thanks to pytest-markdown)