首页 > 文章列表 > 在多个 go 版本下使用 ginkgo

在多个 go 版本下使用 ginkgo

189 2024-02-08
问题内容

我正在使用 go 的多个版本,如本文档 https://go.dev/doc/manage-install 中所述

go install golang.org/dl/go1.10.7@latest
go1.10.7 download

我也在使用 ginkgo,我是这样安装的:(基于 https://onsi.github.io/ginkgo/#installing-ginkgo)

go install github.com/onsi/ginkgo/v2/ginkgo@latest

我可以像这样运行 ginkgo 测试套件:

ginkgo ./...

但是,这使用了我的主要 go 版本。我想用 ginkgo 来测试另一个版本的 go。目前,我能做的最好的事情就是使用 go test 运行 ginkgo 测试

go1.10.7 test ./...

我可以让 nginkgo 使用不同版本的 go 进行测试吗?


正确答案


根据他们的源代码,他们只使用命令 ”go”,所以你的选择是:

  1. 暂时将 go 重命名为 go.bak,然后将 go.10.7 重命名为 go(例如使用 mv
  2. 打开拉取请求以允许支持覆盖 go 可执行文件的路径(例如通过环境变量)
  3. 做你现在正在做的事情

来源:https://github.com/onsi /ginkgo/blob/master/ginkgo/internal/compile.go

相关代码:

func CompileSuite(suite TestSuite, goFlagsConfig types.GoFlagsConfig) TestSuite {

    ...

    cmd := exec.Command("go", args...)