gpt4 book ai didi

go - 从VSCode中启动GO应用程序的所有程序包中的所有测试

转载 作者:行者123 更新时间:2023-12-01 22:23:33 25 4
gpt4 key购买 nike

我对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命令面板运行一个测试文件或一个程序包,但是如果尝试按@icza的建议运行 Go: Test all packages in Workspace命令,则会在输出窗口中看到启动的命令是
/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 in complex folder structure

关于go - 从VSCode中启动GO应用程序的所有程序包中的所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61454407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com