他のパッケージを除外しながら特定のパッケージをテストする
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 サイトの他の関連記事を参照してください。