Überspringen von Tests basierend auf der Go-Version mithilfe von Build-Einschränkungen
Sie möchten verhindern, dass bestimmte Tests auf Systemen ausgeführt werden, auf denen Go-Versionen vor 1.5 fällig sind zur Abhängigkeit von Paketen, die in diesen Versionen nicht verfügbar sind. „runtime.Version()“ kann verwendet werden, um die Go-Version zu ermitteln, aber Ihr Ansatz mit „build go1.5“ am Anfang der Datei hat das Problem nicht behoben.
Die geeignete Lösung ist um die Build-Einschränkungen von Go zu nutzen, um den Umfang Ihrer Testdatei einzuschränken. Die Build-Einschränkung „// build go1.6“ gibt an, dass die Datei nur kompiliert wird, wenn Go Version 1.6 und höher verwendet wird. Dadurch werden Systeme, auf denen Go 1.4 und niedriger ausgeführt wird, vom Erstellen und Testen dieser speziellen Testdatei ausgeschlossen.
Es ist wichtig, die Abhängigkeit vom Paket „golang.org/x/net/http2“ zu berücksichtigen, das bei Go verfügbar ist 1.6. Daher gewährleistet die Verwendung von „build go1.6“ die Kompatibilität sowohl mit der Paketabhängigkeit als auch mit dem gewünschten Go-Versionskriterium.
Denken Sie daran, dass Build-Einschränkungen oben in der Datei erscheinen sollten, denen nur Leerzeilen und Zeilenkommentare vorangestellt sind . Darüber hinaus muss auf eine Reihe von Build-Einschränkungen eine Leerzeile folgen, um sie von der Paketdokumentation zu unterscheiden.
Hier ist ein funktionierendes Beispiel:
// +build go1.6 package yourpackage
In diesem Beispiel wird die Testdatei sein Gebaut und getestet nur auf Systemen mit Go Version 1.6 oder höher.
Das obige ist der detaillierte Inhalt vonWie kann ich Go-Tests basierend auf der Go-Version überspringen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!