テスト対象のプログラムのうち、どのくらいのテストが完了したかを示す指標を「テストカバレッジ」といい、STS(Eclipse)上でテストカバレッジを測定するには、EclEmmaというツールを導入すればよい。
今回は、EclEmmaを導入し、STS(Eclipse)上でテストカバレッジを測定し、測定結果をHTMLファイルに出力してみたので、その手順を共有する。
前提条件
下記記事の実装が完了していること。
また、下記記事のSTSのインストールが完了していること。
やってみたこと
EclEmmaの導入
STS(Eclipse)上で EclEmmaを導入する手順は、以下の通り。
1) STSを起動し、「ヘルプ」メニューから「Eclipseマーケットプレース」を選択
2) 検索ボックスで「EclEmma」を入力し、「Go」ボタンを押下
3) EclEmmaのツールが検索されるので、「インストール」ボタンを押下
4) 下記画面が表示されるので、「使用条件の条項に同意します」を選択し、「完了」ボタンを押下
5) 下記ダイアログが表示されるので、「今すぐ再起動」ボタンを押下
6) JUnitのソースを選択し右クリックすると、「カバレッジ」メニューが追加されていることが確認できる。
テストカバレッジの測定
EclEmmaを利用したテストカバレッジの測定方法は、以下の通り。
1) demoプロジェクトに下記記事のソースコードを反映
2) 「DemoControllerTest」クラスを選択し右クリックし、「実行」メニューから「JUnitテスト」を選択
3) 以下のように、JUnitのテストが正常終了し、コンソールにSystem.out.printlnで出力した結果が表示されることが確認できる
4) 「DemoControllerTest」クラスを選択し右クリックし、「実行」メニューから「カバレッジ」の「JUnitテスト」を選択
5) 下方の「カバレッジ」ビューに、カバレッジの測定結果が出力される
カバレッジレポートの作成
テストカバレッジレポートの出力方法は、以下の通り。
1) カバレッジビューで右クリックし、「セッションのエクスポート」を選択
2) カバレッジ・セッションビューが表示されるので、「参照」ボタンを押下
4) 以下のように、出力するセッションと宛先を指定した状態で、「完了」ボタンを押下
5) 保存先にHTMLファイル類が出力されることが確認できる。ここで「index.html」をダブルクリックし開く
6) 「index.html」を開いた結果は以下の通り。ここで「demo」リンクを押下
7) フォルダ毎のカバレッジが出力される。ここで「src/main/java」リンクを押下
9) 以下のように、クラス毎のカバレッジが出力されることが確認できる
テストカバレッジ結果の削除
テストカバレッジ結果を削除する方法は、以下の通り。
2) カバレッジ測定結果がクリアされ、ソースコード上のカバレッジ測定結果もクリアされる
要点まとめ
- STS(eclipse)上でEclEmmaを導入すると、テストカバレッジを測定したり結果を出力したりすることができる。