pytest-useless-yield-fixture (PT022)
Added in v0.0.208 · Related issues · View source
Derived from the flake8-pytest-style linter.
Fix is always available.
What it does
Checks for unnecessary yield expressions in pytest fixtures.
Why is this bad?
In pytest fixtures, the yield expression should only be used for fixtures
that include teardown code, to clean up the fixture after the test function
has finished executing.
Example
Use instead:
import pytest
@pytest.fixture()
def my_fixture_with_teardown():
resource = acquire_resource()
yield resource
resource.release()
@pytest.fixture()
def my_fixture_without_teardown():
resource = acquire_resource()
return resource