使用構建約束跳過基於Go 版本的測試
您的目標是阻止某些測試在Go 版本早於1.5 的系統上運行依賴這些版本上不可用的軟體包。 「runtime.Version()」可用於確定 Go 版本,但您在檔案頂部使用「build go1.5」的方法無法解決問題。
適當的解決方案是利用 Go 的建置限制來限制測試檔案的範圍。建置約束「// build go1.6」指定僅當使用 Go 版本 1.6 及更高版本時才會編譯該檔案。這會將執行 Go 1.4 及更低版本的系統排除在建置和測試此特定測試檔案之外。
考慮對「golang.org/x/net/http2」套件的依賴非常重要,該套件可從Go 取得1.6.因此,使用「build go1.6」可確保與套件依賴項和所需的Go 版本標準的兼容性。
請記住,建置約束應出現在文件頂部附近,前面只能有空行和行註解。此外,一系列建置約束後面必須跟著一個空行,以將它們與套件文件區分開來。
這是一個工作範例:
// +build go1.6 package yourpackage
在此範例中,測試檔案將僅在執行 Go 1.6 或更高版本的系統上建置和測試。
以上是如何根據Go版本跳過Go測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!