ネストされた Go モジュールのテスト
複数の Go モジュールを使用する場合、Go テストの実行は困難になることがあります。 go test./... を使用する従来のアプローチは、一致するパッケージがない、またはテストするパッケージがないことを示すエラーで失敗します。
これは、go test が複数ではなく単一のモジュールで動作するように設計されているためです。ネストされたモジュールをテストするには、別のアプローチが必要です。
解決策の 1 つは、シェル トリックを使用して各モジュールで go test を個別に実行することです。たとえば、 find を使用して go.mod ファイルを含むディレクトリを検索し、それらの各ディレクトリ内で go test を実行できます:
find . -type d -name go.mod -exec go test {}
または、ヘルパー スクリプトまたは Makefile を作成して、目的のディレクトリを反復処理し、それに応じて go test を実行することもできます。
# test.sh
#!/bin/bash
for dir in */; do
if [ -f "$dir/go.mod" ]; then
go test "$dir"
fi
done
一部の大規模なプロジェクトでは、すべてのサブモジュールのリストを維持し、上記の例のようなスクリプトを利用してテストを容易にする場合があります。
これらの手法を採用することで、複数のネストされたテストを効果的に実行できます。親ディレクトリからモジュールを移動します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3