JavaのEclipseでカバレッジを取得するサンプルです。
JUnitを使用します。
| 確認環境 ・JDK 10 ・eclipse 4.8 ・JUnit-4.12 ・EclEmma 3.1.1 |
目次
環境
Eclipseのプラグインの「EclEmma3.1.1」でカバレッジを行います。
EclEmma3.1.1は、Eclipse Photon(4.8)に既にインストールされています。
EclEmmaは、テストコードがコードを網羅しているか確認できます。
以下は、EclEmmaのドキュメントのリンクです。
https://www.eclemma.org/index.html
以下のクラスとテストクラスがあるとします。
package test1;
class Color1 {
String getColor(int i) {
if (i == 1) {
return "赤";
} else if (i == 2) {
return "青";
} else {
return "1or2を入力して下さい";
}
}
}
以下は、テストクラスです。
package test1;
import static org.junit.Assert.*;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.*;
public class Color1Test {
@Test
public void testGetColor1() {
Color1 c1 = new Color1();
String t1 = c1.getColor(1);
assertThat(t1,is("赤"));
}
@Test
public void testGetColor3() {
Color1 c1 = new Color1();
String t1 = c1.getColor(3);
assertThat(t1,is("1or2を入力して下さい"));
}
}
カバレッジを取得する
1.テストクラスを右クリックします。

2.「カバレッジ」→「JUnitテスト」をクリックします。

3.テストとカバレッジが実行されます。
Color1.java(赤線)のカバレッジが86.7%になっています。
合計命令数が15に対してカバー命令が13なので未実施のものがあることがわかります。

4.コードを見てみると色付けがされています。
緑は、完了しています。
黄は、一部完了ですが未実施のものもあります。
赤は、未実施です。
https://www.eclemma.org/userdoc/annotations.html

5.テストコードを修正して全て網羅するようにすると以下のように100%になります。

カバレッジのレポートを出力する
カバレッジのレポートを出力する方法です。
1.カバレッジの欄で右クリックし、「セッションのエクスポート」をクリックします。

2.出力するセッションを選択し、書式と宛先を選択して完了を押します。

3.エクスポートの書式は、以下のものが選択できます。

4.出力されたフォルダのindex.htmlをブラウザで開きます。

5.カバレッジのレポートをHTML形式で確認することができます。

関連の記事
Java JUnit4のテストのサンプル
Java assertThatメソッドのサンプル
Java JMockitのテストのサンプル