Rumah >pembangunan bahagian belakang >Golang >Menggunakan ginkgo dengan versi go yang berbeza

Menggunakan ginkgo dengan versi go yang berbeza

WBOY
WBOYke hadapan
2024-02-08 23:15:331105semak imbas

在不同的 go 版本中使用 ginkgo

editor php Baicao memperkenalkan anda cara menggunakan Ginkgo dalam versi Go yang berbeza. Ginkgo ialah rangka kerja ujian bahasa Go yang berkuasa yang menyediakan ciri yang kaya dan sintaks yang fleksibel, menjadikan penulisan dan menjalankan ujian lebih mudah dan lebih cekap. Walau bagaimanapun, dalam versi Go yang berbeza, disebabkan oleh perubahan dalam sintaks dan API, anda mungkin menghadapi beberapa masalah semasa menggunakan Ginkgo. Artikel ini akan memberi anda penyelesaian untuk membantu anda berjaya menggunakan Ginkgo dalam pelbagai versi Go dan menjadikan ujian anda berfungsi dengan lebih lancar. Sama ada anda seorang pemula atau pembangun berpengalaman, anda akan mendapat petua dan nasihat praktikal daripada artikel ini.

Kandungan soalan

Saya menggunakan berbilang versi go seperti yang diterangkan dalam dokumen ini https://go.dev/doc/manage-install

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

Saya juga menggunakan ginkgo, saya memasangnya seperti ini: (berdasarkan https://onsi.github.io/ginkgo/#installing-ginkgo)

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

Saya boleh menjalankan suite ujian ginkgo seperti ini:

ginkgo ./...

Namun, ini menggunakan versi main go saya. Saya mahu menggunakan ginkgo untuk menguji versi go yang lain. Pada masa ini, yang terbaik yang boleh saya lakukan ialah menjalankan ujian ginkgo menggunakan go test

go1.10.7 test ./...

Bolehkah saya membuat nginkgo menggunakan versi go yang berbeza untuk ujian?

nginkgo 使用不同版本的 go 进行测试吗?

解决方法

根据他们的源代码,他们只使用命令 ”go”Penyelesaian

    Menurut kod sumber mereka, mereka hanya menggunakan arahan "go", jadi pilihan anda ialah:
  1. go 重命名为 go.bak,然后将 go.10.7 重命名为 go(例如使用 mv
  2. Sementara
  3. )
  4. Buka permintaan tarik untuk membenarkan sokongan untuk mengatasi laluan to the go yang boleh dilaksanakan (cth. melalui pembolehubah persekitaran)
Lakukan apa yang anda lakukan sekarang

Sumber:

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

🎜Kod berkaitan: 🎜
func CompileSuite(suite TestSuite, goFlagsConfig types.GoFlagsConfig) TestSuite {

    ...

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

Atas ialah kandungan terperinci Menggunakan ginkgo dengan versi go yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam