pylint-pytest
A Pylint plugin to suppress pytest-related false positives.
Installation
Requirements:
pylintpytest>=4.6
To install:
$ pip install pylint-pytest
Usage
Enable via command line option --load-plugins
$ pylint --load-plugins pylint_pytest <path_to_your_sources>
Or in .pylintrc:
[MASTER]
load-plugins=pylint_pytest
Suppressed Pylint Warnings
unused-argument
FP when a fixture is used in an applicable function but not referenced in the function body, e.g.
def test_something(conftest_fixture): # <- Unused argument 'conftest_fixture'
assert True
unused-import
FP when an imported fixture is used in an applicable function, e.g.
from fixture_collections import (
imported_fixture,
) # <- Unused imported_fixture imported from fixture_collections
def test_something(imported_fixture):
...
redefined-outer-name
FP when an imported/declared fixture is used in an applicable function, e.g.
from fixture_collections import imported_fixture
def test_something(
imported_fixture,
): # <- Redefining name 'imported_fixture' from outer scope (line 1)
...
no-member
FP when class attributes are defined in setup fixtures
import pytest
class TestClass(object):
@staticmethod
@pytest.fixture(scope="class", autouse=True)
def setup_class(request):
cls = request.cls
cls.defined_in_setup_class = True
def test_foo(self):
assert (
self.defined_in_setup_class
) # <- Instance of 'TestClass' has no 'defined_in_setup_class' member
Raise new warning(s)
W6401 deprecated-pytest-yield-fixture
Raise when using deprecated @pytest.yield_fixture decorator (ref)
import pytest
@pytest.yield_fixture # <- Using a deprecated @pytest.yield_fixture decorator
def yield_fixture():
yield
W6402 useless-pytest-mark-decorator
Raise when using every @pytest.mark.* for the fixture (ref)
import pytest
@pytest.fixture
def awesome_fixture():
...
@pytest.fixture
@pytest.mark.usefixtures(
"awesome_fixture"
) # <- Using useless `@pytest.mark.*` decorator for fixtures
def another_awesome_fixture():
...
W6403 deprecated-positional-argument-for-pytest-fixture
Raise when using deprecated positional arguments for fixture decorator (ref)
import pytest
@pytest.fixture("module") # <- Using a deprecated positional arguments for fixture
def awesome_fixture():
...
F6401 cannot-enumerate-pytest-fixtures
Raise when the plugin cannot enumerate and collect pytest fixtures for analysis
NOTE: this warning is only added to test modules (test_*.py / *_test.py)
import no_such_package # <- pylint-pytest plugin cannot enumerate and collect pytest fixtures
Changelog
See CHANGELOG.
License
pylint-pytest is available under MIT license.
Metadata
Release files for pylint-pytest 1.1.9.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pylint_pytest-1.1.9.post1.tar.gz | 13.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pylint_pytest-1.1.9.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.1 kB
Release files / pylint_pytest-1.1.9.post1.tar.gz
| Download URL | pylint_pytest-1.1.9.post1.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38dd69126bdfdd3162d9e91bfde90c7ec347a5a21f732f3a13f227cad8931cad
|
|
BLAKE2b-256 checksum How to use checksums |
421186f97af405888731d0b1372389e2cf0f55a24ae4dadcda14e445a979a20f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / pylint_pytest-1.1.9.post1-py3-none-any.whl
| Download URL | pylint_pytest-1.1.9.post1-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
857bccbad6c0069b0030df9becbb2e54036f26204648d2f65cb81fc556d5298d
|
|
BLAKE2b-256 checksum How to use checksums |
4eaa62efb5cb22b8bbdd7eed512aed006c6b3e0899532ce3c4f234caf4a67c50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|