Goのテストカバレッジ測定と活用方法
Go
テスト
Goにおけるテストカバレッジの測定方法と効果的な活用方法。カバレッジはテストがソースコードのどれだけの部分を実行・検証しているかを示す指標。
カバレッジの種類
ラインカバレッジ: 実行されたコード行の割合 ブランチカバレッジ: 条件分岐の網羅度 ファンクションカバレッジ: テストされた関数の割合
基本的な測定コマンド
レイヤー別の推奨カバレッジ目標
- ビジネスロジック層(Interactor): 90%以上
- データアクセス層(Repository): 70%以上
- HTTPハンドラー層: 60%以上
- ユーティリティ関数: 80%以上
カバレッジ活用のベストプラクティス
-
重要度に応じた目標設定
- クリティカルな処理(決済等): 95%以上
- 一般的なCRUD処理: 70%以上
-
増分カバレッジの重視
- 新規コードは高カバレッジを維持
- 既存コードは段階的に改善
-
カバレッジの可視化
- CI/CDでの自動測定
- HTMLレポートでの未テスト箇所の確認
注意点
- カバレッジ100%≠バグゼロ
- 質より量を重視しない(意味のあるテストを書く)
- カバレッジは品質指標の一つに過ぎない
- ビジネスロジックの重要部分の網羅を優先