Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von Ginkgo mit verschiedenen Go-Versionen

Verwendung von Ginkgo mit verschiedenen Go-Versionen

WBOY
WBOYnach vorne
2024-02-08 23:15:331100Durchsuche

在不同的 go 版本中使用 ginkgo

php-Editor Baicao stellt Ihnen vor, wie Sie Ginkgo in verschiedenen Go-Versionen verwenden. Ginkgo ist ein leistungsstarkes Go-Sprachtest-Framework, das umfangreiche Funktionen und flexible Syntax bietet und das Schreiben und Ausführen von Tests einfacher und effizienter macht. Allerdings kann es in verschiedenen Go-Versionen aufgrund von Syntax- und API-Änderungen zu Problemen bei der Verwendung von Ginkgo kommen. In diesem Artikel finden Sie Lösungen, die Ihnen dabei helfen, Ginkgo in verschiedenen Go-Versionen erfolgreich zu nutzen und Ihre Testarbeit reibungsloser zu gestalten. Egal, ob Sie ein Neuling oder ein erfahrener Entwickler sind, in diesem Artikel erhalten Sie praktische Tipps und Ratschläge.

Frageninhalt

Ich verwende mehrere Versionen von Go, wie in diesem Dokument https://go.dev/doc/manage-install

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

Ich verwende auch Ginkgo, ich habe es so installiert: (basierend auf https://onsi.github.io/ginkgo/#installing-ginkgo)

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

Ich kann die Ginkgo-Testsuite so ausführen:

ginkgo ./...

Dies verwendet jedoch meine Haupt-Go-Version. Ich möchte Ginkgo verwenden, um eine andere Version von Go zu testen. Derzeit kann ich am besten Ginkgo-Tests mit go test durchführen

go1.10.7 test ./...

Kann ich nginkgo dazu bringen, zum Testen eine andere Version von Go zu verwenden?

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

解决方法

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

    Laut Quellcode verwenden sie nur den Befehl "go", Sie haben also folgende Möglichkeiten:
  1. go 重命名为 go.bak,然后将 go.10.7 重命名为 go(例如使用 mv
  2. Vorübergehend
  3. )
  4. Öffnen Sie eine Pull-Anfrage, um Unterstützung für das Überschreiben des Pfads zur ausführbaren Go-Datei zu ermöglichen (z. B. über Umgebungsvariablen)
Mach, was du gerade tust

Quelle:

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

🎜Zugehöriger Code: 🎜
func CompileSuite(suite TestSuite, goFlagsConfig types.GoFlagsConfig) TestSuite {

    ...

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

Das obige ist der detaillierte Inhalt vonVerwendung von Ginkgo mit verschiedenen Go-Versionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen