Home  >  Article  >  Backend Development  >  Using ginkgo with different go versions

Using ginkgo with different go versions

WBOY
WBOYforward
2024-02-08 23:15:331099browse

在不同的 go 版本中使用 ginkgo

php editor Baicao introduces you how to use Ginkgo in different Go versions. Ginkgo is a powerful Go language testing framework that provides rich features and flexible syntax, making writing and running tests easier and more efficient. However, in different Go versions, due to syntax and API changes, you may encounter some problems when using Ginkgo. This article will provide you with solutions to help you successfully use Ginkgo in various Go versions and make your testing work smoother. Whether you're a newbie or an experienced developer, you'll get practical tips and advice from this article.

Question content

I am using multiple versions of go as described in this document https://go.dev/doc/manage-install

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

I am also using ginkgo, I installed it like this: (based on https://onsi.github.io/ginkgo/#installing-ginkgo)

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

I can run the ginkgo test suite like this:

ginkgo ./...

However, this uses my main go version. I want to use ginkgo to test another version of go. Currently, the best I can do is run ginkgo test using go test

go1.10.7 test ./...

Can I have nginkgo use a different version of go for testing?

Workaround

According to their source code, they only use the command ”go”, so your options are:

  1. Temporarily rename go to go.bak and then go.10.7 to go (e.g. using mv)
  2. Open a pull request to allow support for overriding the path to the go executable (e.g. via an environment variable)
  3. Do what you are doing now

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

Related codes:

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

    ...

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

The above is the detailed content of Using ginkgo with different go versions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:stackoverflow.com. If there is any infringement, please contact admin@php.cn delete