{"categories":[{"label":"Testing","url":"https://skillfed.io/packages/category/software-development-testing/3"},{"label":"Quality Assurance","url":"https://skillfed.io/packages/category/software-development-quality-assurance/2"}],"enrichment":{"capability":"A Pylint plugin that suppresses false-positive warnings when analyzing pytest test code, and raises new warnings for deprecated or problematic pytest patterns.","skillfed_tags":["pytest-integration","linting","code-quality"],"use_cases":["Suppress false positives in CI/CD pipelines that run Pylint on pytest test suites to maintain a clean lint report.","Catch deprecated pytest patterns like @pytest.yield_fixture before they cause issues in newer pytest versions.","Analyze fixture-heavy test code without having to disable Pylint rules or add noqa comments throughout.","Enforce consistent pytest fixture patterns by raising warnings on useless decorators or positional arguments.","Integrate code quality checks into test modules without fighting Pylint's static analysis limitations."],"what_it_does":"pylint-pytest is a Pylint plugin designed to make static analysis work better with pytest test code. It solves the problem of Pylint raising false-positive warnings when analyzing pytest fixtures and test functions\u2014for example, flagging fixture parameters as unused arguments even though pytest injects them at runtime. The plugin suppresses four common false positives (unused-argument, unused-import, redefined-outer-name, and no-member) that occur when fixtures are properly used but not referenced in the function body.\n\nBeyond suppression, the plugin also raises four new warnings to catch deprecated or problematic pytest patterns: deprecated-pytest-yield-fixture (for the old @pytest.yield_fixture decorator), useless-pytest-mark-decorator (for @pytest.mark.* on fixtures where it has no effect), deprecated-positional-argument-for-pytest-fixture (for positional arguments to @pytest.fixture), and cannot-enumerate-pytest-fixtures (when the plugin cannot analyze fixtures in a test module). It requires pylint and pytest>=4.6 and is enabled by loading it as a Pylint plugin.","worth_installing":"Yes. This is a low-friction, actively maintained plugin that solves a real problem: Pylint's inability to understand pytest's fixture injection model. If you run Pylint on pytest test code, this plugin will eliminate noise and catch genuine pytest anti-patterns. No security issues, permissive license, and production-stable."},"id":"pylint-pytest","links":{"html":"https://skillfed.io/packages/pylint-pytest","md":"https://skillfed.io/packages/pylint-pytest.md","pypi":"https://pypi.org/project/pylint-pytest/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-05-23","license_spdx":null,"license_treatment":"permissive","name":"pylint-pytest","python_support":"supports_current","summary":"A Pylint plugin to suppress pytest-related false positives."},"popularity":{"monthly_downloads":600624,"position":5820,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.1.8"}
