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

VS Code中调试ut_runner测试:如何避免先执行完成再调试?

解决VS Code中ut_runner调试前强制执行完测试的问题

方法1:单独调试目标测试用例

  • 不要直接启动整个测试套件的调试,在测试文件里找到陷入无限循环的目标用例,右键选择**"Debug Test"**(不同语言的测试插件显示可能略有差异,比如Python的pytest会显示"Debug Current Test"),这样ut_runner会直接启动单个测试的调试流程,不会等待整个套件执行完成。
  • 若通过配置文件管理测试,可修改launch.json指定仅运行目标用例。以Python的pytest为例:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Debug Single Test",
            "type": "python",
            "request": "launch",
            "module": "pytest",
            "args": ["tests/test_demo.py::test_infinite_loop"],
            "justMyCode": true
        }
    ]
}

方法2:修改配置禁用调试前预执行

  • 打开VS Code设置(快捷键Ctrl+,/Cmd+,),搜索对应测试框架的ut_runner配置项。比如针对C++的Google Test扩展,查找C_Cpp: Tests Prelaunch Task并设置为none,取消调试前的预执行任务。
  • 也可直接在settings.json中添加配置,以Python测试为例:
{
    "python.testing.pytest.preLaunchTask": ""
}

方法3:手动打断循环进入调试

  • 先启动调试,当测试陷入无限循环后,点击VS Code调试面板的**"Pause"**按钮(暂停图标),调试器会暂停在当前执行的代码行,此时可查看调用栈、变量值定位问题。
  • 若暂停后无法直接定位,可在怀疑的代码行手动添加断点,再点击**"Restart"**,调试器会在断点处停下,逐步排查循环逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:47:32