如何在 vscode 中设置 go test 路径
How to set path for go test in vscode
我有以下源代码树:
/main.go
/templates/t.tmpl
/pkg/templates.go
/pkg/templates_test.go
/pkg/templates.go
定义使用
var t = template.Must(template.ParseFiles("templates/t.tmpl")
这是正常项目操作所必需的,因为二进制文件是从根文件夹调用的。
然后当我从 vscode Must
调试 templates_test.go
的测试失败时,因为 go test 当前目录是 pkg
而不是项目根目录
如何使 vscode 与 go test
一起使用根项目文件夹?
运行 包源代码目录中的测试是默认的 Go 行为。
https://pkg.go.dev/cmd/go#hdr-Testing_flags:
When 'go test' runs a test binary, it does so from within the
corresponding package's source code directory. Depending on the test,
it may be necessary to do the same when invoking a generated test
binary directly.
要更改行为,请使用相对路径(例如 go project's template package test),或者在测试程序开始时更改所需的目录(例如 TestMain 中的 os.Chdir
等)。
我有以下源代码树:
/main.go
/templates/t.tmpl
/pkg/templates.go
/pkg/templates_test.go
/pkg/templates.go
定义使用
var t = template.Must(template.ParseFiles("templates/t.tmpl")
这是正常项目操作所必需的,因为二进制文件是从根文件夹调用的。
然后当我从 vscode Must
调试 templates_test.go
的测试失败时,因为 go test 当前目录是 pkg
而不是项目根目录
如何使 vscode 与 go test
一起使用根项目文件夹?
运行 包源代码目录中的测试是默认的 Go 行为。
https://pkg.go.dev/cmd/go#hdr-Testing_flags:
When 'go test' runs a test binary, it does so from within the corresponding package's source code directory. Depending on the test, it may be necessary to do the same when invoking a generated test binary directly.
要更改行为,请使用相对路径(例如 go project's template package test),或者在测试程序开始时更改所需的目录(例如 TestMain 中的 os.Chdir
等)。