この記事は「Angular × Vite ユニットテスト入門|Vitestで始めるテスト完全ガイド」シリーズの一部です。
Angular × Vitestでコードカバレッジを測定する方法|設定・確認・しきい値まで完全解説
Angularのユニットテストにおいて「コードカバレッジ」は、テストの品質を可視化する重要な指標です。
特に近年はVitestが標準化されつつあり、従来のKarma/Jasmine環境とは異なる設定や考え方が必要になります。
本記事では、Angular + Vitest環境でのコードカバレッジの取得方法から、設定・しきい値管理までを初心者にも分かりやすく解説します。
コードカバレッジとは
コードカバレッジとは、「どれだけのコードがテストされているか」を示す指標です。
具体的には以下のような観点で測定されます。
- statements(文)
- branches(分岐)
- functions(関数)
- lines(行)
カバレッジレポートを見ることで、テストされていない箇所を特定できるため、品質改善に直結します。
Angular × Vitestでカバレッジを有効化する
必要パッケージのインストール
Vitestでコードカバレッジを利用するには、以下のパッケージが必要です。
npm install --save-dev @vitest/coverage-v8
これはV8エンジンベースの高速なカバレッジ計測を行うためのものです。
カバレッジ付きでテストを実行する
以下のコマンドでカバレッジを取得できます。
ng test --coverage
実行後、プロジェクト直下に coverage/ ディレクトリが生成されます。
coverage/Project └── index.html
この index.html をブラウザで開くと、視覚的にカバレッジを確認できます。

カバレッジレポートの見方
カバレッジレポートでは、以下の情報が確認できます。
ファイル単位のカバレッジ
- 各ファイルごとのテスト網羅率
- カラー表示(緑:OK、赤:未テスト)
ソースコード単位のカバレッジ
- 実際のコードに対して
- 実行された行
- 実行されていない行
がハイライト表示される

これにより、どこを追加でテストすべきか一目で分かります。
angular.jsonでカバレッジを常に有効化する
毎回 --coverage を付けるのが面倒な場合は、設定ファイルで常時有効にできます。
{
"projects": {
"your-project-name": {
"architect": {
"test": {
"builder": "@angular/build:unit-test",
"options": {
"coverage": true
}
}
}
}
}
}
これにより、ng test 実行時に自動でカバレッジが生成されます。
カバレッジのしきい値(threshold)を設定する
チーム開発では、「最低限の品質ライン」を決めることが重要です。
Angularでは、カバレッジの最低値を設定できます。
例:80%以上を必須にする
{
"coverageThresholds": {
"statements": 80,
"branches": 80,
"functions": 80,
"lines": 80
}
}
angular.jsonのtest > optionsに、この設定を行うと、カバレッジが80%未満の場合にテストが失敗扱いになります。
つまり、品質を強制できる仕組みになります。
カバレッジ対象ファイルの制御
不要なファイルを除外することで、より正確な指標を得られます。
主な設定項目
- coverageInclude
- coverageExclude
- coverageReporters
- coverageWatermarks
例:
{
"coverageReporters": ["html", "lcov"],
"coverageInclude": ["src/**/*.ts"]
}
これにより、CI連携(lcov)や可視化(html)も柔軟に対応できます。
カバレッジを上げるための実践ポイント
分岐(if/else)を重点的にテストする
branchesカバレッジは落ちやすいため、意識的にテストを書くことが重要です。
サービス・ロジック層を優先する
UIよりもロジックの方がカバレッジ向上に直結します。
テンプレートロジックも忘れない
AngularはHTML側にもロジックがあるため注意が必要です。
まとめ
Angular × Vitestのコードカバレッジは、以下の流れで導入できます。
- パッケージをインストール
ng test --coverageを実行coverage/でレポート確認angular.jsonで自動化- しきい値で品質を担保
コードカバレッジは単なる数値ではなく、品質改善のための指標です。
継続的に確認しながら、テストの質を高めていきましょう。
