登录
首页 >  Golang >  Go问答

缺失的测试覆盖率在VS Code Go中突出显示

来源:stackoverflow

时间:2024-03-18 15:33:28 289浏览 收藏

在 Visual Studio Code 中使用 Go 模块时,测试覆盖率突出显示功能可能无法正常工作。即使测试正在运行并且输出显示覆盖率数据,装订线中也可能不会出现红色/绿色条。这可能是由于根路径包含符号链接,导致覆盖范围突出显示无法正确显示。

问题内容

我有 2 个用于 Go 开发的 VS Code 工作区,在这两种情况下都使用 Go 模块。

在第一个工作区中,我在装订线中看到红色/绿色条,指示测试代码覆盖率。一切都非常好。

第二次我无法显示报道。我知道测试正在运行(由 VS Code 运行),使用 go test -coverprofile... 我可以检查输出,它看起来不错。我最初有一个多根工作区,但我尝试为我正在处理的模块创建一个只有一个根的新工作区。我尝试确保根路径不包含符号链接。

我现在花了几个小时查看两个工作区的用户、工作区和文件夹级别的设置之间的差异,但找不到任何差异。

我希望能就如何找出覆盖范围突出显示未显示的原因提出建议。

我使用的是 go 1.13.15。

更新

我已更新到 VSCode 1.51.1 并转到 1.15.2。没有变化。

但是,当我使用 git diff 时,我确实会在装订线中看到覆盖范围,只是在普通编辑器视图中看不到


解决方案


我遇到了类似的问题 - 我从开发机器 #1 迁移到开发机器 #2,并且具有完全相同的环境、软件/工具版本等。代码覆盖率在 dev1 上按预期工作,但在 dev2 上却不然。

关键的区别在于,在 dev2 上,我连接到了一个 vscode 工作区,它是我的 gopath 的符号链接,而在 dev1 上,该路径是一个正确的目录。当我将 dev2 上的 vscode 工作区连接到底层目录(而非符号链接版本)时,代码覆盖率开始正确显示。

go test -v -cover ./...

上面的代码显示了终端中的覆盖率,为了在 vs code 中显示覆盖率突出显示,我执行了以下操作

ctrl + shift + P

然后搜索go:切换当前包中的测试覆盖率并按 enter 键。然后检查。

今天关于《缺失的测试覆盖率在VS Code Go中突出显示》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>