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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 08:55:08513ブラウズ

How Can I Skip Go Test Files Based on the Go Version?

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 を決定するのは独自のコードに依存します。 version.
  • ビルド制約またはカスタム チェックは、ファイルの先頭、他のコードの前に必ず配置してください。

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

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