ホームページ >バックエンド開発 >Golang >Go バージョンに基づいて Go テストをスキップするにはどうすればよいですか?

Go バージョンに基づいて Go テストをスキップするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-11 03:16:14325ブラウズ

How Can I Skip Go Tests Based on the Go Version?

テスト ファイル内の Go バージョンに基づいてテストをスキップする

Go 1.5 を必要とするが、パッケージ (golang.org) をインポートするテスト ファイルがあります。 /x/net/http2) には net/http からの request.Cancel() が必要ですが、これは Go 1.5 でのみ使用できます。この問題を解決するには、ビルド制約を使用して、テスト ファイルのコンパイルと実行を Go 1.5 システムに制限します。

ビルド制約は、ファイルの先頭近くに配置されるディレクティブで、ファイルがどのような条件で実行されるべきかを指定します。建てられた。この場合、テスト ファイルの先頭に次のビルド制約を追加できます。

// +build go1.5

この制約は、Go 1.5 以降が使用されている場合にのみビルドにファイルを含めるようコンパイラーに指示します。

ただし、指定したエラー メッセージは、Go 1.6 で追加された http2 パッケージを参照していることに注意してください。したがって、次のビルド制約を使用して、コンパイルを Go 1.6 以降に制限する必要があります。

// +build go1.6

ビルド制約は、ファイルの先頭近くに表示され、その前に空行と行コメントのみが続く必要があります。また、パッケージのドキュメントと区別するために、その後に空行を続ける必要があります。

以上がGo バージョンに基づいて Go テストをスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。