ホームページ >バックエンド開発 >Golang >他のパッケージを除外しながら、特定のパッケージの Go テストを実行するにはどうすればよいですか?

他のパッケージを除外しながら、特定のパッケージの Go テストを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-30 01:32:13851ブラウズ

How Can I Run Go Tests for Specific Packages While Excluding Others?

他のパッケージを除外しながら特定のパッケージをテストする

Go の "go test" コマンドを使用すると、開発者はプロジェクト内でテストを実行できます。ただし、特定のパッケージまたはディレクトリのテストが不必要または望ましくないシナリオが存在する場合があります。この質問は、特定のディレクトリをテストからスキップする可能性を検討します。

答え:

1.明示的な呼び出し:

1 つの方法は、テストするパッケージごとに「go test」の明示的な呼び出しを使用することです。たとえば、次の構造があるとします。

mypackage
mypackage/net
mypackage/other
mypackage/scripts

次のコマンドを実行すると、「mypackage/scripts」を除外しながら、「mypackage」、「mypackage/other」、および「mypackage/net」でテストを実行できます。 :

cd mypackage
go test
cd net
go test
cd other
go test

ディレクトリを含む、テストするパッケージのカンマ区切りリストを提供することもできますパス:

go test mypackage,mypackage/other,mypackage/net

2.シェルベースの呼び出し:

使用されているシェルに応じて、ワイルドカード拡張を使用して複数のテストを呼び出すことができます。たとえば、Bash または Zsh の場合:

go test mypackage/{,other,net}

3.除外 "go list" を使用:

"go list" を利用して、通常テストされるすべてのパッケージをリストできます。 grep を介して出力をパイプし、不要なディレクトリを除外することで、フィルターされたリストを取得できます。このリストは、「go test」に渡すことができます:

go test $(go list ./... | grep -v directoriesToSkip)

4. testing.Short() フラグの使用:

長さやコストのためにテストがスキップされる場合は、「testing.Short()」フラグを使用できます。特定の条件を満たすテストは、「testing.Short()」をチェックし、「t.Skip()」を呼び出してテストから除外できます。

「mypackage」内のテストをスキップするには、以下を使用できます。

go test -short mypackage/

または

go test -short ./...

これらの手法を利用することで、開発者は必要なパッケージに対して選択的にテストを実行できます。他を除く。この柔軟性により、テスト プロセスの効率と利便性が向上します。

以上が他のパッケージを除外しながら、特定のパッケージの Go テストを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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