分割されたテスト パッケージでのカバレッジのテスト
組織的な目的でテスト ファイルが個別のパッケージに分割されている場合、ターゲット コードのカバレッジ統計を取得すると、挑戦になる。この質問では、テスト パッケージが 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 サイトの他の関連記事を参照してください。