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

VSCode调试Python单个unittest方法时断点失效无输出问题问询

VSCode 调试 unittest 断点失效、无输出问题解决方案

基础运行环境

  • Python: 3.8.5
  • VSCode: 1.61.2
  • 操作系统:虚拟机部署的 Ubuntu 20.04

问题表现

  • 右键点击 unittest 方法左侧的绿色调试三角,选择「Debug Test」后,底部状态栏变为橙色显示「running tests...」,测试运行完成前绿色三角变为加载动画,但是所有已激活断点均无法命中,调试器不会在标记位置暂停
  • Python Test Log 面板与当前活动终端无任何断言、print 输出内容

复现步骤

  1. 创建包含多个简单测试函数的 unittest 模块
  2. 在测试代码行添加激活状态的断点
  3. 对目标测试方法右键选择「Debug Test」即可复现问题

修复方案

1. 修正测试框架配置

打开工作区下的 .vscode/settings.json 文件,添加/修改如下配置,避免多测试框架冲突:

{
    "python.testing.unittestEnabled": true,
    "python.testing.pytestEnabled": false,
    "python.testing.unittestArgs": [
        "-v",
        "-s",
        "./",
        "-p",
        "test_*.py"
    ],
    "python.terminal.executeInFileDir": true
}

如果你的测试文件命名不符合 test_*.py 规则,可修改 -p 参数后的匹配规则适配你的项目。

2. 新增 unittest 专用调试配置

打开工作区下的 .vscode/launch.json 文件,添加如下调试配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 调试单测",
            "type": "python",
            "request": "launch",
            "module": "unittest",
            "args": ["${relativeFile}"],
            "justMyCode": false,
            "console": "integratedTerminal"
        }
    ]
}

justMyCode 设为 false 可避免调试器跳过自定义的测试代码,console 指定为集成终端可保证输出正常展示。

3. 清理Python扩展缓存

按下Ctrl+Shift+P调出命令面板,执行「Python: Clear Internal Cache」命令,之后重启 VSCode 重新加载测试用例即可。

验证效果

完成配置后重新执行 Debug Test:

  • 调试器可正常在断点位置暂停,支持逐行调试、变量查看等操作
  • 所有 print 输出、断言报错信息均会同步展示在 Python Test Log 面板与集成终端中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:15:06