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

如何通过常规启动配置用pytest调试及解决相关配置问题

解决VSCode pytest调试断点失效及参数配置问题

一、修复Launch配置断点失效的问题

针对你当前的launch配置,可尝试以下调整:

  • 修正JSON语法错误:移除args中${file}的末尾逗号(多余逗号可能导致配置解析异常),修正后的配置:
{
    "name": "pytest",
    "type": "python",
    "request": "launch",
    "module": "pytest",
    "justMyCode": false,
    "args": [
        "-vv",
        "${file}"
    ]
}
  • 替换module为program,直接指定pytest可执行文件路径(适配虚拟环境场景):
{
    "name": "pytest",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/.venv/bin/pytest", // Windows环境改为`.venv/Scripts/pytest.exe`
    "justMyCode": false,
    "args": [
        "-vv",
        "${file}"
    ]
}
  • 清除VSCode调试缓存:按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac),执行Developer: Reload Window,重启后再尝试调试。

二、设置有效的pytest额外参数

若settings.json中的python.testing.pytestArgs无效,可通过两种方式解决:

  1. 在Launch配置中直接追加参数:
    在launch.json的args数组中添加所需参数,例如指定测试目录、跳过特定用例:
    "args": [
        "-vv",
        "${file}",
        "--tb=short",
        "-k not slow_test"
    ]
    
  2. 强制指定工作区级pytest配置:
    打开.vscode/settings.json(确保为工作区设置而非全局用户设置),明确指定pytest路径和参数:
    {
        "python.testing.pytestPath": "${workspaceFolder}/.venv/bin/pytest",
        "python.testing.pytestArgs": [
            "-vv",
            "tests/",
            "--no-header"
        ]
    }
    

三、让测试框架识别justMyCode: false

要让VSCode测试面板调试时跳过第三方代码断点,可通过两种方式配置:

  1. 全局生效:在.vscode/settings.json中添加全局调试设置:
    "python.debugging.justMyCode": false
    
  2. 仅测试调试生效:创建测试专属的launch配置(配合Python扩展的测试调试功能):
    {
        "name": "Debug Tests",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "purpose": ["debug-test"],
        "justMyCode": false
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 23:22:15