ネストされた Go モジュールのテスト
複数の Go モジュールを使用する場合、go テストの実行は困難になることがあります。 go test./... を使用する従来のアプローチは、一致するパッケージがない、またはテストするパッケージがないことを示すエラーで失敗します。
これは、go test が複数ではなく単一のモジュールで動作するように設計されているためです。ネストされたモジュールをテストするには、別のアプローチが必要です。
解決策の 1 つは、シェル トリックを使用して各モジュールで go test を個別に実行することです。たとえば、find を使用して go.mod ファイルを含むディレクトリを検索し、それらの各ディレクトリ内で go test を実行できます。
<code class="bash">find . -type d -name go.mod -exec go test {} +</code>
あるいは、ヘルパー スクリプトまたは Makefile を作成して、目的の内容を反復処理することもできます。
<code class="bash"># test.sh #!/bin/bash for dir in */; do if [ -f "$dir/go.mod" ]; then go test "$dir" fi done</code>
一部の大きなプロジェクトでは、すべてのサブモジュールのリストを維持し、上記の例のようなスクリプトを利用してテストを容易にする場合があります。
これらの手法を採用することで、を使用すると、親ディレクトリから複数のネストされた Go モジュールにわたってテストを効果的に実行できます。
以上が質問の形式と、ネストされた Go モジュールのテストに焦点を当てた記事を念頭に置いて、タイトルのオプションをいくつか示します。 オプション 1 (直接的かつ簡潔): ネストされた Go モジュールを効果的にテストするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。