pytest-incorrect-fixture-name-underscore (PT005)
源自 flake8-pytest-style linter。
警告:此规则已被移除,其文档仅供历史参考。
移除
此规则已被移除,因为 pytest 社区不建议使用下划线标记不返回值的 fixture。
作用
检查 pytest
fixture 是否返回一个值,但名称却以一个前导下划线开头。
为什么这不好?
按照惯例,不返回值的 fixture 应该以一个前导下划线命名,而返回值 fixture 则不应该。
此规则忽略抽象 fixture。
示例
import pytest
@pytest.fixture()
def _some_object():
return SomeClass()
@pytest.fixture()
def _some_object_with_cleanup():
obj = SomeClass()
yield obj
obj.cleanup()
建议改为
import pytest
@pytest.fixture()
def some_object():
return SomeClass()
@pytest.fixture()
def some_object_with_cleanup():
obj = SomeClass()
yield obj
obj.cleanup()