Heim >Backend-Entwicklung >Golang >Wie kann ich Go-Tests basierend auf der Go-Version überspringen?
Tests basierend auf der Go-Version in Testdateien überspringen
Sie haben eine Testdatei, die Go 1.5 erfordert, aber ein Paket importiert (golang.org /x/net/http2), das request.Cancel() von net/http erfordert, was nur in Go 1.5 verfügbar ist. Um dieses Problem zu beheben, verwenden Sie Build-Einschränkungen, um die Kompilierung und Ausführung der Testdatei auf Go 1.5-Systeme zu beschränken.
Build-Einschränkungen sind Anweisungen, die am Anfang einer Datei platziert werden und die Bedingungen angeben, unter denen diese Datei sein soll gebaut. In Ihrem Fall können Sie die folgende Build-Einschränkung am Anfang Ihrer Testdatei hinzufügen:
// +build go1.5
Diese Einschränkung weist den Compiler an, die Datei nur dann in den Build einzuschließen, wenn Go 1.5 oder höher verwendet wird.
Beachten Sie jedoch, dass sich die von Ihnen bereitgestellten Fehlermeldungen auf das http2-Paket beziehen, das in Go 1.6 hinzugefügt wurde. Daher sollten Sie die folgende Build-Einschränkung verwenden, um die Kompilierung auf Go 1.6 und höher zu beschränken:
// +build go1.6
Build-Einschränkungen müssen oben in der Datei erscheinen und dürfen nur durch Leerzeilen und Zeilenkommentare vorangestellt werden. Außerdem muss ihnen eine Leerzeile folgen, um sie von der Paketdokumentation zu unterscheiden.
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!