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

如何在PyCharm中全局设置工作目录,统一pytest运行路径?

全局设置pytest默认工作目录为项目根目录的方法

以下几种方法可实现全局配置,无需逐个修改运行配置:

方法1:使用pytest配置文件

在项目根目录创建pytest.ini(兼容tox.ini或setup.cfg),写入以下配置:

[pytest]
pythonpath = .

pythonpath = .会将项目根目录加入Python路径,同时pytest会默认以该配置文件所在目录作为工作目录执行测试。如果你的测试文件集中在某个文件夹(比如tests),可额外添加testpaths = tests指定测试查找路径。

方法2:通过环境变量全局指定

设置PYTEST_ADDOPTS环境变量,让所有pytest实例自动使用指定根目录:

  • Linux/macOS:在终端配置文件(如~/.bashrc、~/.zshrc)中添加:
    export PYTEST_ADDOPTS="--rootdir=/你的项目根目录绝对路径"
    
    执行source ~/.bashrc(对应你的配置文件)生效后,每次运行pytest都会自动切换到指定根目录。
  • Windows:打开系统环境变量设置,新增变量PYTEST_ADDOPTS,值设为--rootdir=C:\你的项目根目录绝对路径,重启终端或IDE后生效。

方法3:IDE全局模板配置(以PyCharm为例)

如果使用PyCharm,可以统一设置所有pytest运行配置的默认工作目录:

  1. 打开File > Settings > Build, Execution, Deployment > Python Debugger > Templates
  2. 找到pytest模板并点击编辑
  3. 在Working directory选项中选择项目根目录
  4. 保存设置后,新建的pytest运行配置都会自动继承这个工作目录设置

方法4:通过conftest.py钩子强制切换

在项目根目录创建conftest.py文件,添加以下代码:

import os
import pytest

@pytest.hookimpl(tryfirst=True)
def pytest_configure(config):
    # 获取conftest.py所在的项目根目录路径
    project_root = os.path.abspath(os.path.dirname(__file__))
    # 切换工作目录到项目根目录
    os.chdir(project_root)

pytest启动时会自动执行这个钩子函数,强制将工作目录切换到项目根目录,无论你从哪个子目录启动测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:40:55