在 Windows 系统上,当你运行 Go 测试时,可能会收到如下警告信息:
warning: GOCOVERDIR not set, no coverage data emitted
这是因为 Go 工具链需要将测试覆盖率数据保存到 GOCOVERDIR
环境变量指定的目录中,但该环境变量没有被设置。要解决此问题,请按照以下步骤操作:
- 创建一个目录用于存储测试覆盖率数据。例如,在命令提示符窗口中执行以下命令:
mkdir c:\gocoverage
- 设置
GOCOVERDIR
环境变量,使其指向新创建的目录。例如,在命令提示符窗口中执行以下命令:
set GOCOVERDIR=c:\gocoverage
- 运行 Go 测试。现在,测试覆盖率数据应该会被保存到
c:\gocoverage
目录中。
如果你使用的是 VS Code 编辑器,则可以将 GOCOVERDIR
添加到用户或工作区设置中以永久解决此问题。打开 VS Code 设置页面(快捷键:Ctrl + ,),搜索 “go.coverOnSave” 并勾选该选项后,在 “Go: Test Coverage Output Directory” 输入框中输入存储测试覆盖率文件的路径即可。