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

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

Susan Sarandon
リリース: 2024-10-28 20:39:30
オリジナル
930 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート