Go 1.5+で実行する必要のあるテストが含まれているファイルがあります。1.4以降のシステムでテストファイルを実行すると、テストファイルはスキップされますか?
runtime.Version()
を使用してさまざまな比較を行って、Goランタイムバージョンを取得できました。
ただし、テストファイルはgolang.org/x/net/http2
をインポートします。 http2
パッケージにはrequest.Cancel()
からnet/http
までが必要ですが、Go 1.5+でのみ利用可能です。ビルドが失敗する原因私のCI環境でこれらのエラーが発生し
:
../../../golang.org/x/net/http2/transport.go:214: req.Cancel undefined (type *http.Request has no field or method Cancel)
../../../golang.org/x/net/http2/transport.go:218: req.Cancel undefined (type *http.Request has no field or method Cancel)
../../../golang.org/x/net/http2/transport.go:777: req.Cancel undefined (type *http.Request has no field or method Cancel)
私は、ファイルの先頭に// +build go1.5
を追加しようとしたが、それはうまくいきませんでした。
ユニットテストファイルをGo 1.5システムのみでビルドしてテストするように制限することはできますか?
私は私のテストファイルの最上部( '// + ignore'が正常に壊れたテストファイルを無視するビルド)でディレクティブを構築するなど、と何の問題もないが、私は」走って行く1.6。愚かな疑問: 'build'指示文とパッケージ名の間に空白行を追加しましたか?もしそうでなければ、彼らは考慮に入れられません(彼らはドキュメンテーションと見なされます)。 –
それはそれでした!私は空白行を無視し、ビルドされた指示はドキュメントだと思った。 :) – F21