如何在VSCode的Delve中结合Build Tags调试Go测试?
当然可以实现!我之前调试Go测试时也遇到过同样的需求,每次手动加tags确实麻烦,其实VSCode的Go调试配置里早就支持这个功能,只是相关说明比较零散。下面一步步教你配置:
步骤1:打开launch.json配置文件
在VSCode左侧的「运行和调试」面板(快捷键Ctrl+Shift+D)里,点击面板顶部的齿轮图标,就能打开launch.json文件。如果之前没有配置过,会让你选择环境,选「Go」即可生成基础配置。
步骤2:添加测试Tags配置
在configurations数组里,找到(或者新增)测试相关的调试配置项,加入"go.testTags"字段,把你需要的tags值填进去。
完整配置示例
比如你的测试需要带上integration和unittest两个tags,配置可以写成这样:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Package Tests", "type": "go", "request": "launch", "mode": "test", "program": "${fileDirname}", // 调试当前文件所在包的所有测试 "go.testTags": "integration,unittest", "showLog": false }, { "name": "Debug Single Test Function", "type": "go", "request": "launch", "mode": "test", "program": "${file}", // 调试当前打开的测试文件里的函数 "go.testTags": "integration,unittest", "showLog": false } ] }
步骤3:验证配置
保存launch.json后,回到你的测试文件,点击测试函数上方的「调试测试」按钮,VSCode会自动调用Delve并带上你指定的tags执行测试,不需要再手动输入额外参数了。
小提示
- 如果需要多个tags,用逗号分隔即可,和命令行里
go test -tags "a,b"的格式一致。 - 这个配置对「运行测试」和「调试测试」都生效,配置后两种方式都会自动带上tags。
内容的提问来源于stack exchange,提问作者OneMoreQuestion
相关产品推荐
相关产品推荐

