Spring Boot STS利用

STSでJUnitのテストカバレッジを測定してみた

テスト対象のプログラムのうち、どのくらいのテストが完了したかを示す指標を「テストカバレッジ」といい、STS(Eclipse)上でテストカバレッジを測定するには、EclEmmaというツールを導入すればよい。

今回は、EclEmmaを導入し、STS(Eclipse)上でテストカバレッジを測定し、測定結果をHTMLファイルに出力してみたので、その手順を共有する。

前提条件

下記記事の実装が完了していること。

MockitoでfinalメソッドをMock化してみたMockitoのバージョンが2の場合、MockMakerファイルを配置すれば、finalメソッドをMock化することができる。今回は、M...

また、下記記事のSTSのインストールが完了していること。

STSインストール_1
STS(Spring Tool Suite)をWindows端末上にダウンロードしてみたSpring BootアプリケーションをEclipse上で開発するには、Spring用のプラグインを同梱した「STS(Spring To...

やってみたこと

  1. EclEmmaの導入
  2. テストカバレッジの測定
  3. カバレッジレポートの作成
  4. テストカバレッジ結果の削除

EclEmmaの導入

STS(Eclipse)上で EclEmmaを導入する手順は、以下の通り。

1) STSを起動し、「ヘルプ」メニューから「Eclipseマーケットプレース」を選択
EclEmmaのインストール_1

2) 検索ボックスで「EclEmma」を入力し、「Go」ボタンを押下
EclEmmaのインストール_2

3) EclEmmaのツールが検索されるので、「インストール」ボタンを押下
EclEmmaのインストール_3

4) 下記画面が表示されるので、「使用条件の条項に同意します」を選択し、「完了」ボタンを押下
EclEmmaのインストール_4

5) 下記ダイアログが表示されるので、「今すぐ再起動」ボタンを押下
EclEmmaのインストール_5

6) JUnitのソースを選択し右クリックすると、「カバレッジ」メニューが追加されていることが確認できる。
EclEmmaのインストール_6



テストカバレッジの測定

EclEmmaを利用したテストカバレッジの測定方法は、以下の通り。

1) demoプロジェクトに下記記事のソースコードを反映

MockitoでfinalメソッドをMock化してみたMockitoのバージョンが2の場合、MockMakerファイルを配置すれば、finalメソッドをMock化することができる。今回は、M...

2) 「DemoControllerTest」クラスを選択し右クリックし、「実行」メニューから「JUnitテスト」を選択
テストカバレッジ結果の測定_2

3) 以下のように、JUnitのテストが正常終了し、コンソールにSystem.out.printlnで出力した結果が表示されることが確認できる
テストカバレッジ結果の測定_3

4) 「DemoControllerTest」クラスを選択し右クリックし、「実行」メニューから「カバレッジ」の「JUnitテスト」を選択
テストカバレッジ結果の測定_4

5) 下方の「カバレッジ」ビューに、カバレッジの測定結果が出力される
テストカバレッジ結果の測定_5



カバレッジレポートの作成

テストカバレッジレポートの出力方法は、以下の通り。

1) カバレッジビューで右クリックし、「セッションのエクスポート」を選択
カバレッジレポートの作成_1

2) カバレッジ・セッションビューが表示されるので、「参照」ボタンを押下
カバレッジレポートの作成_2

3) 出力先を指定し、「フォルダーの選択」ボタンを押下
カバレッジレポートの作成_3

4) 以下のように、出力するセッションと宛先を指定した状態で、「完了」ボタンを押下
カバレッジレポートの作成_4

5) 保存先にHTMLファイル類が出力されることが確認できる。ここで「index.html」をダブルクリックし開く
カバレッジレポートの作成_5

6) 「index.html」を開いた結果は以下の通り。ここで「demo」リンクを押下
カバレッジレポートの作成_6

7) フォルダ毎のカバレッジが出力される。ここで「src/main/java」リンクを押下
カバレッジレポートの作成_7

8) 「com.example.demo」リンクを押下
カバレッジレポートの作成_8

9) 以下のように、クラス毎のカバレッジが出力されることが確認できる
カバレッジレポートの作成_9



テストカバレッジ結果の削除

テストカバレッジ結果を削除する方法は、以下の通り。

1) カバレッジビューで「すべてのセッションを削除」を押下
テストカバレッジ結果の削除_1

2) カバレッジ測定結果がクリアされ、ソースコード上のカバレッジ測定結果もクリアされる
テストカバレッジ結果の削除_2

要点まとめ

  • STS(eclipse)上でEclEmmaを導入すると、テストカバレッジを測定したり結果を出力したりすることができる。