VSCode Go能否保留已发现的subtest?解决调试重跑难题
解决VSCode Go插件Testing面板Subtest消失的问题
可行方案
关闭自动保存触发的测试发现
打开VSCode设置(快捷键Ctrl+,或Cmd+,),搜索Go: Test On Save并设置为false。这样修改代码保存后,插件不会自动触发全量测试扫描,避免清空已识别的subtest列表。手动单独重跑目标Subtest
修改代码后,无需重新运行整个测试套件。直接在Testing面板找到需要验证的subtest,点击其右侧的重新运行按钮(🔄图标),插件会单独执行该subtest,同时保留面板中其他已识别的subtest条目。保留测试缓存
Go默认开启测试缓存功能,调试时不要使用go test -count=1这类绕过缓存的命令。缓存能让插件快速复用之前的测试结果,减少重新扫描测试结构的频率,间接避免subtest列表被清空。
原因说明
VSCode Go插件默认在代码变更后执行全量测试发现,目的是保证测试条目与最新代码完全同步,但这个逻辑在调试场景下会导致已识别的subtest被清空。上述设置可以在不影响测试准确性的前提下,维持Testing面板的subtest列表状态,提升调试效率。
内容的提问来源于stack exchange,提问作者Nachi Ueno
相关产品推荐
相关产品推荐

