ホームページ >バックエンド開発 >Golang >テストが別のパッケージにある場合に、パッケージの正確なカバレッジ統計を取得するにはどうすればよいですか?

テストが別のパッケージにある場合に、パッケージの正確なカバレッジ統計を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 20:39:30894ブラウズ

How to Obtain Accurate Coverage Stats for a Package When Tests Are in a Separate Package?

分割されたテスト パッケージでのカバレッジのテスト

組織的な目的でテスト ファイルが個別のパッケージに分割されている場合、ターゲット コードのカバレッジ統計を取得すると、挑戦になる。この質問では、テスト パッケージが api_client_tests にあり、コードが api_client にあるこのシナリオの回避策を検討します。

質問:

カバレッジ統計を正確にするにはどうすればよいですか?関連するテストが別のパッケージにある場合、テスト対象の api_client パッケージに対して取得されますか?

解決策:

提供される解決策には、 go test コマンドを使用することが含まれます。 -cover フラグと -coverpkg フラグ。 -coverpkg フラグを使用して api_client パッケージをカバレッジのターゲットとして指定すると、次のようになります。

go test -cover -coverpkg "api_client" "api_client_tests"

テストが api_client_tests の外部に配置されている場合でも、カバレッジ統計は api_client パッケージ内のコード専用に生成されます。

代替アプローチ:

上記の方法は実行可能な解決策ですが、コードと同じパッケージ内にテスト ファイルを保持するという典型的な Go の規則から逸脱しています。テスト。これにより、デバッグや共同作業が困難になる可能性があります。

コメントで述べたように、別のアプローチは、テスト ファイルをテスト対象のコードと同じパッケージに単純に移動することです。これにより、特定の機能またはコンポーネントに関連するすべてのコードが確実にグループ化され、メンテナンスが容易になります。

以上がテストが別のパッケージにある場合に、パッケージの正確なカバレッジ統計を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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