You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pytest:子目录中pytest.ini文件的识别规则疑问

pytest配置文件加载机制问题解答

现象原因

pytest加载配置文件(如pytest.ini)的核心规则是:从你指定的测试文件/目录所在路径开始,向上递归查找,直到找到第一个合法的配置文件,或到达文件系统根目录为止,它不会向下遍历子目录去寻找配置文件。

对应你的场景:

  • 当执行pytest /folder/sub/.../tests/test_file.py时,pytest以test_file.py所在的tests目录为起点向上查找,很快就能找到/folder/sub/下的pytest.ini,因此会加载该文件。
  • 当直接在/folder目录执行pytest命令时,pytest会从当前工作目录/folder开始向上查找配置文件,而/folder本身没有配置文件,同时pytest不会主动向下搜索sub子目录里的pytest.ini,所以这个配置文件不会被加载。

外部运行时子目录配置文件的识别情况

从外部目录运行测试时,子目录中的pytest.ini是否被识别,取决于你运行命令时指定的测试目标:

  • 如果指定了子目录下的测试文件/路径(比如在/目录执行pytest /folder/sub/.../tests/),pytest会从指定路径的父目录开始向上递归查找,能找到/folder/sub/下的pytest.ini并加载。
  • 如果仅在外部目录执行pytest而不指定具体测试路径,pytest会以当前工作目录为起点向上查找,不会向下遍历子目录,因此子目录里的pytest.ini不会被识别。

内容的提问来源于stack exchange,提问作者Angry bird

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:45:00