コードカバレッジ
IntelliJ IDEA のコードカバレッジを使用すると、特定の実行中に実行されたコード行を分析できます。 これにより、テストでカバーされたコードの割合を決定し、テストカバレッジが不十分な領域を特定できます。
コードカバレッジ for Java プラグイン を有効化
この機能は、デフォルトで IntelliJ IDEA にバンドルされ有効になっている Code Coverage for Java プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 Java のコードカバレッジプラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
カバレッジ付き実行
カバレッジ分析を実行するためのエントリポイントは、通常 アプリケーションを実行するために使用するものと同じです。
カバレッジ分析は、カバレッジエージェントが接続された対応する実行構成を実行します。 このエージェントはバイトコードをインストルメント化して、実行を行ごとに追跡します。 実行が完了すると、分析の結果が IDE に表示されます。
カバレッジスイート
特定の実行のカバレッジデータのコレクションは、 カバレッジスイートと呼ばれます。
IntelliJ IDEA は、1 つ以上のカバレッジスイートの結果を一度に表示できます。 複数のスイートを選択した場合、IDE はこれらのスイートからマージされた結果を表示します。 つまり、行は、選択したスイートの少なくとも 1 つで実行された場合にカバーされていると見なされます。
対応するスイートファイルは、IntelliJ IDEA のシステムディレクトリにあります。
%LOCALAPPDATA%\JetBrains\IntelliJIdea%instance-version%\coverage
~/.cache/JetBrains/IntelliJIdea%instance-version%/coverage
~/Library/Caches/JetBrains/IntelliJIdea%instance-version%/coverage
スイートの管理
メインメニューで、 Ctrl+Alt+F6 に移動します。
表示するカバレッジスイートの選択 メニューで:
チェックボックスを使用してアクティブなスイートを選択します。 アクティブなスイートは、IDE に現在表示されているカバレッジデータを定義します。
追加 を使用して、CI サーバーで生成されたファイルや、他のユーザーから送信されたファイルなどの外部スイートファイルをインポートします。 .ic (IntelliJ IDEA ランナー) または .exec / .xml (JaCoCo ランナー) ファイルを使用できます。
IntelliJ IDEA ランナーで収集されたインポートされたスイートを表示するには、プロジェクトをコンパイルしたり実行したりする必要はありません。
リストからスイートを削除しますが、ファイルはストレージに保持するには、
除去 を使用します。
削除 を使用して、リストからスイートを削除し、ストレージからファイルを削除します。
カバレッジデータを読み取る
IntelliJ IDEA は、次のカバレッジ結果を表示します:
カバレッジ ツールウィンドウ
プロジェクト ツールウィンドウ
エディター
コードカバレッジの結果は、 カバレッジを含む実行構成を少なくとも 1 つ起動すると、 カバレッジ ツールウィンドウ、 プロジェクト ツールウィンドウ、およびエディターに表示されます。
プロジェクトツールウィンドウ
プロジェクト ツールウィンドウには以下が表示されます。
ディレクトリのカバークラスと行の割合
カバーされているメソッドとクラスの行数の割合

カバレッジツールウィンドウ
レポートでは、クラス、メソッド、行、ブランチのカバレッジ率別にプロジェクトを分類します。
ブランチカバレッジは、 if-else や switch などのステートメントで実行されたブランチの割合を示します。 これは、JaCoCo ランナーと、 分岐カバレッジオプションが有効になっている IntelliJ IDEA ランナーで使用できます。

カバレッジ ツールウィンドウには次のオプションがあります。
項目 | 説明 |
|---|---|
パッケージを階層的に表示するか、構造をフラット化してすべてを同じレベルで表示するかを選択します。 | |
このオプションがオンの場合、IntelliJ IDEA は選択したアイテムをエディターで自動的に開きます。 それ以外の場合は、項目をダブルクリックして開く必要があります。 | |
このオプションがオンの場合、IntelliJ IDEA は、エディターで開いたファイルをツールウィンドウで自動的に検索します。 | |
コードカバレッジレポートを生成し、指定したディレクトリに保存します。 詳細については、 カバレッジレポートの生成 を参照してください。 | |
ディスクからカバレッジスイートをインポートします。 | |
カバレッジ結果をフィルタリングします。 以下のフィルターを設定できます。
|
エディター
エディターのガターでは、カバレッジステータスに応じて行がハイライトされます。
緑 – 実行された行
赤 – 実行されていない行
黄色 – if-elseステートメントの 1 つのブランチのみが参照された場合など、部分的に実行された行
コード行の統計を表示するには、ガター内の対応するカラーインジケーターをクリックします。 ポップアップが開き、ヒット数と条件評価統計が表示されます (IntelliJ IDEA ランナーのみ)。

さらに、統計ポップアップには次のオプションがあります。
JUnit テストの場合: 別のダイアログで行をカバーするテストを開きます。 この機能を使用するには、 分岐カバレッジ および テストカバレッジごとに追跡する オプションを使用してカバレッジ分析を実行したことを確認してください。 | |
現在のクラスのバイトコードを別のダイアログ | |
ガターの カバレッジインジケーターの色を変更する |
カバレッジデータを非表示にする
次のいずれかを実行します。
カバレッジ ツールウィンドウ () のカバレッジ統計のタブを閉じます。
ガター内のカバレッジハイライトをクリックし、 カバレッジを非表示 を選択します。
カバレッジレポートの生成
に移動するか、 カバレッジ ツールウィンドウで
をクリックします。
カバレッジレポートの生成 ダイアログで、生成されたレポートを保存するディレクトリを指定し、オプションで 生成した HTML をブラウザーで開く チェックボックスを選択します。
コードカバレッジを構成する
IntelliJ IDEA には、個々の実行構成に適用されるカバレッジ設定と、プロジェクトごとに適用されるカバレッジ設定があります。
実行構成の設定
実行構成ごとに、カバレッジ分析の範囲を指定できます。
クラスとパッケージを構成する
に移動し、左側のパネルの実行構成をクリックします。
オプションを変更 をクリックし、 コードカバレッジ で次のオプションを選択します。
クラスとパッケージを指定する: カバレッジ情報を表示するクラスとパッケージを構成するには、このオプションを選択します。
クラスとパッケージを除外する: このオプションを選択して、カバレッジから除外するクラスとパッケージを構成します。
プロジェクト設定
プロジェクトの場合、次のオプションを設定できます。
エディターにカバレッジを適用する前にオプションを表示する(S) | カバレッジ分析を実行するたびに、最近収集された カバレッジスイートをアクティブにするかどうかを確認します。 この場合、ダイアログが表示され、新しい結果のみを表示するか、既存の結果に追加するか、表示せずにストレージに保存するかを選択できます。 |
収集されたカバレッジを適用しない(N) | カバレッジ分析を実行した後は、最近収集した カバレッジスイートのみをストレージに保存してください。 この場合、 で対応するスイートを明示的に選択しない限り、新しいカバレッジデータは表示されません。 |
アクティブなスイートを新しいものに置き換える(R) | 現在表示されている カバレッジスイートを非表示にして、カバレッジ分析を実行した後に新しく収集されたスイートを使用します。 この場合、最新のカバレッジ実行の結果のみが表示されます。 |
アクティブなスイートに追加する(D) | カバレッジ分析を実行した後、新しく収集された カバレッジスイートをアクティブスイートのリストに追加します。 これにより、既存のカバレッジ結果が保持され、その上に新しい結果が追加されます。 |
カバレッジビューをアクティブにする(V) | カバレッジ分析を実行するたびに カバレッジツールウィンドウを開きます。 |
カバレッジランナーの選択 | カバレッジランナーを選択: IntelliJ IDEA または JaCoCo |
分岐カバレッジ JaCoCoでは常に有効 |
|
テストカバレッジごとに追跡する JUnit テストのみ Gradleは未対応 | 行が実行された特定のテストまでさかのぼってトレースできます。 詳細については、 テストごとのカバレッジ を参照してください。 |
テストフォルダー内のカバレッジを収集 IntelliJ IDEA ランナー専用 | テストのコードカバレッジ統計を収集します。 デフォルトでは、カバレッジデータにはソースルートでカバーされた行のみが表示されます。 このオプションを使用すると、テストルートでもカバレッジ収集が有効になります。 |
暗黙的に宣言されたデフォルトコンストラクターを無視する IntelliJ IDEA ランナー専用 | 暗黙のデフォルトコンストラクターをカバレッジ統計から除外します。 明示的に宣言された引数なしのコンストラクターは含まれたままになります。 |
アノテーションを除外 IntelliJ IDEA ランナー専用 | 指定されたアノテーションでマークされた要素 (例: Lombok の |
カバレッジのハイライトの色を変更する
Ctrl+Alt+S を押して設定を開き、 を選択します。
コンポーネントのリストで、 カバレッジ行 ノードを展開し、カバレッジのタイプを選択します(例: 全部、 一部 または 未カバレッジ)。
フォアグラウンド フィールドをクリックして、 色を選択する ダイアログを開きます。
色を選択し、変更を適用して、ダイアログを閉じます。

テストごとのカバレッジ
ブランチカバレッジが有効になっている場合、IntelliJ IDEA では、各テストでカバーされているコード行を追跡したり、その逆を行ったりすることができます。
テストごとのカバレッジを有効にする
で、 分岐カバレッジ と テストカバレッジごとに追跡する を有効にします。
ラインごとにテストを追跡する
特定の行をカバーするテストに移動するには:
エディターのガターでハイライトされているカバレッジをクリックし、
テストがカバーする行を表示 を選択します。

テストごとのトラックライン
特定のテスト内でカバーされている行のみをハイライトするには:
カバー ツールウィンドウでテストを選択し、ツールバーの テストごとにカバレッジを表示 をクリックします。



