所以,我大概有这段代码:
from .fixtures import some_fixture
def test_whatever(some_fixture):
print(some_fixture)
我从flake8
收到两条警告:
F401'.fixtures.some_fixture'导入但未使用
和
F811从第1行重新定义未使用的'some_fixture'
我不打算在任何地方移动灯具,但是“装饰”每个测试定义以及每次导入noqa
和pylint
评论都是一种非常悲伤和无色的生活(尤其是有时它当没有真正使用固定装置时,会沉默一个合法的警告。
我还能做什么?
答案 0 :(得分:5)
使用flake8和pylint的指令禁用检查:
from .fixtures import some_fixture # noqa: F401; pylint: disable=unused-variable
def test_whatever(some_fixture):
print(some_fixture)
没有办法解决这个问题。
答案 1 :(得分:0)
还有另一种解决方法:分别在代码及其测试上运行linter,仅在检查测试时忽略这些警告。
此外,您可以向pylint或flake8提交PR,如果导入的名称是灯具,则可以忽略这些检查。
答案 2 :(得分:0)
更好的方法是将灯具放置在conftest.py
文件中,这是共享灯具的推荐位置。
它们将被pytest自动发现。您将不必导入它们,因此不需要F401,并且由于参数不会与导入冲突,因此不再需要F811。