如何配置pytest加载指定路径的conftest.py文件
pytest全局conftest指定路径配置方案
pytest默认仅从测试文件所在目录向上递归查找conftest.py,因此分散在各业务模块下的测试文件默认无法读取独立存放在统一tests目录下的全局conftest.py,可通过以下两种方案解决:
- 方案一:一次性启动参数配置
运行pytest时在项目根目录执行如下命令,显式加载指定conftest作为全局插件:pytest -p tests.conftest
如果执行路径不在项目根目录,可同步指定Python路径:PYTHONPATH=<你的项目根目录绝对路径> pytest -p tests.conftest - 方案二:持久化配置(无需每次输入参数)
在项目根目录下创建pytest.ini/pyproject.toml/tox.ini任意一种pytest识别的配置文件即可。以pyproject.toml为例,添加如下配置:
[tool.pytest.ini_options] addopts = "-p tests.conftest" testpaths = ["tests", "a/tests"] # 按实际情况添加所有存放测试文件的目录,方便pytest全局扫描用例
如果使用pytest.ini的话配置如下:
[pytest] addopts = -p tests.conftest testpaths = tests a/tests
配置完成后直接运行pytest命令即可自动加载指定的全局conftest.py。
注意如果运行pytest时提示找不到tests.conftest模块,将项目根目录添加到系统PYTHONPATH环境变量中即可解决。
内容的提问来源于stack exchange,提问作者liormayn
相关产品推荐
相关产品推荐

