History of changes in the pytest imp plugin for PyCharm.
The format is based on Keep a Changelog, and this project DOES NOT adhere to Semantic Versioning.
To Be Released...
Features:
- Add support for explicit typing annotations on lambda fixtures (e.g.
pear: LambdaFixture[str] = static_fixture(123)
)
Changed:
- Add support for 2024.3
Changed:
- Raised minimum version to 2024.3 to avoid compat issues
_NOTE: this version is not published to marketplace, due to compat issues with 2024.2
Features:
- Add support for explicit typing annotations on lambda fixtures (e.g.
pear: LambdaFixture[str] = static_fixture(123)
)~~
Changed:
Add support for 2024.3
Fixed:
- Resolve improper typing for async yield fixtures
Features:
- Add proper typing for implicit reference lambda fixtures (e.g.
apple = lambda_fixture()
)
Changed:
- Add support for 2024.2
Fixed:
- Resolve incorrect renaming behaviour
Changed:
- Add support for 2024.1
Changed:
- Add support for 2023.3
Changed:
- Add support for 2023.2
Features:
- Allow fixtures to be defined with
@pytest_asyncio.fixture
- Hide "shadows name from outer scope" message for fixture functions
- Prevent fixture request parameters being marked unused
Changed:
- Add support for 2023.1
Fixed:
- Ensure current fixture is not suggested in fixture completions
Fixed:
- Resolved lambda_fixture refs to yield fixtures providing incorrect type
Fixed:
- Resolved indirectly-defined lambda_fixture fixture definitions (e.g.
lambda_fixture(my_callable)
) always being typed astuple
- Resolved explicit typing annotations on requested fixtures being ignored again, in 2022.3
Fixed:
- Resolve incorrect type inference for non-async yield fixtures (see GH#16)
BREAKING:
- Added support for 2022.3, requiring a source/target Java compatibility of 17. Minimum supported PyCharm version is now 2022.3.
Features:
- Support for lambda_fixture destructuring
Fixed:
- Resolved null pointer exception related to pytest plugin/conftest fixtures search, which could impact code sense for completely unrelated files.
Fixed:
- Resolved artifact build including test sources, some of which caused plugin incompatibilities when scanned.
Features:
- Add completion/references for external lambda fixtures (from appropriate
conftest.py
files, and from plugins listed in the root conftest'spytest_plugins
and from-p <plugin>
arguments in the pytest config'saddopts
)
Features:
- Support for async fixtures (both pytest and pytest-lambda fixtures)
Added:
- Expose pretty types for lambda_fixture lambda expression callables
Changed:
- Support for PyCharm 2022.2 EAP (tested against 222.2270.35)
Fixed:
- Resolve
*args
types being reported incorrectly, for any function anywhere (whoops. see [GH#11](#11 — thanks, andrianovs and lancelote)
Changed:
- Support for PyCharm 2022.1 EAP (tested against 221.3427.103)
- Minimum JVM version changed from 10 to 11
Fixed:
- Allow relative paths to
pytest.ini
orpyproject.toml
to be used in settings (see GH#10 — thanks, kbakk!)
Changed:
- Support for PyCharm 2021.3 EAP (tested against 213.3714.452)
Fixed:
- Resolve error with java-configparser when either
python_functions
orpython_classes
were undefined when usingpytest.ini
for config.
Fixed:
-
Resolve issue where multiline values caused error in INI config parsing
(previously, ini4j was used to parse
pytest.ini
, but Python's ConfigParser, which pytest uses, is not a strict implementation of INI parsing; we have switched to using the third-party java-configparser to resolve this.)
Changed:
- Support for PyCharm 2021.2 EAP (tested against 212.4321.41)
Fixed:
- Allow array values for
python_classes
andpython_functions
when using pyproject.toml - Resolve incorrect typing when using
pytest.param(..., id='xyz')
Fixed:
- Properly parse dashes used within character classes of
python_classes
patterns (see GH#9, thanks @WIRUT!)
Fixed:
- Use proper name for pytest config in
pyproject.toml
(previously,tools.pytest.ini_options
was used, instead oftool.pytest.ini_options
)
Features:
- Added support for reading pytest config from pyproject.toml
Changed:
- Support for PyCharm 2021.1 EAP (211.5538.22)
Fixed:
- Respect explicit type annotations on parameters, rather than inferred type of fixture
Changed:
- Support for PyCharm 2020.3 EAP (203.4449.8)
Features:
- Add run line markers (i.e. "Run pytest for selected_test_method") for classes/methods based on patterns in
pytest.ini
- Configure path to
pytest.ini
in settings (Tools > Python Integrated Tools > py.test) - Support autocompletion / typing / renaming of
precondition_fixture
(from pytest-common-subject)
Changed:
- Support for PyCharm 2020.2.1
Features:
- Completion/typing support for pytest_lambda lambda/static fixtures
- Completion/typing support for any pytest fixtures defined in enclosing classes