go - 从 VSCode 中启动 GO 应用程序的所有包中的所有测试
问题描述
我对 Golang 很陌生,我正在尝试将它与 VSCode 一起用作编辑器。
我有一个 VSCode 工作区,其中包含我的应用程序的源代码,分为几个包,例如
myapp (the workspace)
src
pck1
f11.go
f11_test.go
pck2
f21.go
f21_test.go
我的目标是能够使用 VSCode 中的一个命令启动所有测试。我已经安装了 GO 扩展。
在myapp-workspace.code-workspace
我定义的设置中
"settings": {
"go.gopath": "/blah/blah/myapp/",
"go.testFlags": ["-v"]
}
确保GOPATH
指向我的工作区文件夹。
使用此设置,我可以从 VSC 命令面板运行一个测试文件或一个包,但是如果我尝试Go: Test all packages in Workspace
按照@icza 的建议运行命令,我会在输出窗口中看到启动的命令是
/usr/local/go/bin/go test -timeout 30s ./... -v
这会导致一系列错误消息,第一个是
can't load package: package ./pkg/mod/9fans.net/go@v0.0.0-20181112161441-237454027057/acme: cannot use path@version syntax in GOPATH mode
如果我从 VSC 集成终端尝试,go test
我会收到错误
can't load package: package .: no Go files in /blah/blah/myapp
如果我从 VSC 集成终端尝试,go test ./...
我得到一长串错误,类似于命令生成的错误,Go: Test all packages in Workspace
最后我得到以下错误
src/game/game.go:4:2: cannot find package "pck1" in any of:
/usr/local/go/src/pck1 (from $GOROOT)
/Users/administrator/go/src/pck1 (from $GOPATH)
src/game/game.go:6:2: cannot find package "pck2" in any of:
/usr/local/go/src/pck2 (from $GOROOT)
/Users/administrator/go/src/pck2 (from $GOPATH)
我闻到我在 GOPATH 值周围做错了什么,但我不知道是什么。
有没有办法使用一个命令从 VSCode 中启动所有包中的所有测试?
解决方案
有一个集成命令:Go: Test all packages in Workspace
.
go test ./...
如果您位于工作区的根目录中,您也可以在内置终端中运行。./...
将递归到所有子文件夹。请参阅复杂文件夹结构中的 go test。
推荐阅读
- python - 在 seaborn barplot 中使用关键字参数“底部”
- swift - 如何在 SwiftUI 中为 PreviewProvider 绑定字典?
- c++ - std::sort 的分段错误和错误输出
- python - 通过发送 http get 请求从 JSON 响应中获取详细信息
- r - 使用分组条形图时如何在R代码中旋转ggplot2中的x轴
- java - 为什么从 Toolkit 获取屏幕尺寸会产生不同的结果,具体取决于是否存在 JFrame
- php - 在个人网站上显示 maps.googleapis.com JSON 数据(特别是 weekday_text 和 open_now)
- r - 如何使用 R 的 ggplot2 编辑圆环图的标签?
- python - 执行命令 pip install jinja 时出现此错误
- swift - 分段选择器删除了可访问性