我的项目中有以下文件树:
...
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
如何在其他模块的测试方法中使用我的 autouse
固定装置,而不传递对固定装置的显式引用或使用 pytest 装饰器?
最佳答案
自动使用适用于执行所有测试所需的一些设置的固定装置,并且可能会也可能不会返回仍然有用的东西作为测试使用的固定装置。
想要访问固定装置返回的内容的测试必须将固定装置声明为参数,以便它们可以访问它。因此,如果您的测试想要访问固定装置,则必须将其声明为参数,这就是 pytest 的工作原理。希望这会有所帮助。
关于python - 自动使用在单独模块中定义的 pytest 装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31223569/