我们正在使用flake8
来测试我们的代码,而我们正在使用pytest
来使用fixture。以下代码:
from staylists.tests.fixtures import fixture1 # noqa: F401
def test_case(fixture1): # noqa: F811
# Test goes here
assert 1 == 1
在linting期间生成lib/python/test.py:3:1: F811 redefinition of unused 'fixture1' from line 1
错误。
答案 0 :(得分:3)
共有两种共享固定装置的“最佳做法”:
conftest
中定义它们
通过导入副作用将灯具带入作用域会触发您所看到的问题,不建议
答案 1 :(得分:1)
通过将所有灯具移动到 conftest.py 文件中,可以避免F401和F811错误。 Pytest会自动加载此文件,并使所有测试中的所有fixture都可用,即使没有明确的import语句。
有关该文件的更多讨论,请访问:In py.test, what is the use of conftest.py files?