pytest-incorrect-fixture-name-underscore (PT005)
Derived from the flake8-pytest-style linter.
Warning: This rule has been removed and its documentation is only available for historical reasons.
Removal
This rule has been removed because marking fixtures that do not return a value with an underscore isn't a practice recommended by the pytest community.
What it does
Checks for pytest
fixtures that return a value, but are named with a
leading underscore.
Why is this bad?
By convention, fixtures that don't return a value should be named with a leading underscore, while fixtures that do return a value should not.
This rule ignores abstract fixtures.
Example
import pytest
@pytest.fixture()
def _some_object():
return SomeClass()
@pytest.fixture()
def _some_object_with_cleanup():
obj = SomeClass()
yield obj
obj.cleanup()
Use instead:
import pytest
@pytest.fixture()
def some_object():
return SomeClass()
@pytest.fixture()
def some_object_with_cleanup():
obj = SomeClass()
yield obj
obj.cleanup()