Go バージョンに基づいてテスト ファイルをスキップする
問題:
テスト ファイルがありますGo 1.5 以降でのみ利用可能な機能に依存します。 Go 1.4 以下を実行しているシステムでファイルがビルドおよびテストされるのを防ぎたいと考えています。
解決策:
1.ビルド制約の使用:
ビルド制約機能を使用すると、特定のファイルをコンパイルするために必要な最小 Go バージョンを指定できます。これを使用するには、テスト ファイルの先頭に次の行を追加します。
// +build go1.5
この制約により、ファイルは Go 1.5 以降を実行しているシステムでのみコンパイルされるようになります。テストで今後の Go リリースで追加された機能が必要な場合は、より高いバージョン番号を指定する必要がある場合があることに注意してください。
2.テスト ファイルのカスタム チェック:
または、テスト ファイル内にカスタム チェックを実装して、Go バージョンに基づいてテストをスキップすることもできます:
package yourpackage import ( "fmt" "os" "runtime" ) func TestExample(t *Testing.T) { ver := runtime.Version() if ver[2:4] < "1.5" { t.Skipf("Skipping test on Go version %s", ver) } // Run tests }
このコードは Go を取得しますバージョンが未満の場合はテストをスキップします。 1.5.
注意事項:
以上がGo バージョンに基づいて Go テスト ファイルをスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。