x/tools/gopls: 没有为TestMain执行的操作

bweufnob  于 5个月前  发布在  Go
关注(0)|答案(3)|浏览(43)

你正在使用哪个版本的Go( go version )?

go version go1.19.6 linux/amd64

这个问题在最新版本中是否会重现?

是的

你正在使用什么操作系统和处理器架构( go env )?

go env

GO111MODULE=""

GOARCH="amd64"

GOBIN=""

GOCACHE="/home/pedro/.cache/go-build"

GOENV="/home/pedro/.config/go/env"

GOEXE=""

GOEXPERIMENT=""

GOFLAGS=""

GOHOSTARCH="amd64"

GOHOSTOS="linux"

GOINSECURE=""

GOMODCACHE="/home/pedro/go/pkg/mod"

GONOPROXY=""

GONOSUMDB=""

GOOS="linux"

GOPATH="/home/pedro/go"

GOPRIVATE=""

GOPROXY="direct"

GOROOT="/usr/lib/golang"

GOSUMDB="off"

GOTMPDIR=""

GOTOOLDIR="/usr/lib/golang/pkg/tool/linux_amd64"

GOVCS=""

GOVERSION="go1.19.6"

GCCGO="gccgo"

GOAMD64="v1"

AR="ar"

CC="gcc"

CXX="g++"

CGO_ENABLED="1"

GOMOD="/home/pedro/Documents/Escola/Mestrado/2semestre/CC/projeto_individual/go.mod"

GOWORK=""

CGO_CFLAGS="-g -O2"

CGO_CPPFLAGS=""

CGO_CXXFLAGS="-g -O2"

CGO_FFLAGS="-g -O2"

CGO_LDFLAGS="-g -O2"

PKG_CONFIG="pkg-config"

GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3618416135=/tmp/go-build -gno-record-gcc-switches"

你做了什么?

在VSCode中,当我尝试用*testing.M创建一个TestMain函数时,如第一张图片所示,上面没有任何东西可以运行测试。但是,如果我把它改成其他的东西,比如T或者什么都不写,它就会出现。我不认为这是我的问题。

你期望看到什么?

函数顶部有一个可点击的"运行测试"文本

你看到了什么?

"运行测试"的可点击测试没有出现

z2acfund

z2acfund1#

我们可以在这里生成代码镜头,不过我认为VS Code也需要更新其中间件以实际调用测试。
CC @hyangah

w51jfk4q

w51jfk4q2#

如果您需要我提供其他任何帮助,请随时@我。感谢您的帮助!

y3bcpkx1

y3bcpkx13#

相关:golang/vscode-go#482
VS Code不使用gopls的测试代码镜头。其意图并不是在TestMain(*testing.M)上展示一个代码镜头,显然它没有考虑到它正在积极编辑的情况(另一个相关:golang/vscode-go#2435)
对于包级别的测试,有"运行包测试"代码镜头。

相关问题