我的项目中有以下文件树:
...
tests/
__init__.py
test_abc.py
...
我在__init__.py
中定义了一个夹具:
@pytest.fixture(autouse=True)
def client():
return TestClient()
我想在test_abc.py
中使用此灯具:
from . import client
def test_def():
client.get(...) # Throws an error
如何在不通过对灯具的显式引用或使用pytest装饰器的情况下,在其他模块的测试方法中使用我的autouse
灯具?
答案 0 :(得分:3)
Autouse适用于所有测试都需要进行某些设置的灯具,并且可能会或可能不会返回仍然有用的东西作为测试使用的灯具。
想要访问灯具返回的内容的测试必须将灯具声明为参数,以便他们可以访问它。因此,如果您的测试想要访问夹具,他们必须将其声明为参数,即pytest的工作原理。希望这会有所帮助。