26
2008

EclEmmaでJUnit無しでカバレッジ

CATEGORYJava
現在 いろいろあって混乱したWeb系の仕事 に従事中(--;
先日やっと単体テストが完了したーと思ったら、お客さんと成果物やら作業レベルやらの意思疎通ができてなかったらしく、カバレッジを取れ、という今更な指令が(涙

コードのカバレッジは、一般的にはJUnitでテストケースを作って、その結果として取ったりする(はず)。取るためのツールも、JUnitあり気のものばかり
でも今回はそんな開発をしていないし、今更作るスケジュールもないんですけど・・・手動!?とかいう話になり、何とかできないかと探してみたところ、こんな記事を発見。

ITPro 第7回 単体テストを楽にするプラグイン

この「EclEmma」というEclipseプラグインを用いると、Eclipse上でサーブレットをTomcatで動作させた上で、実際のウェブアクセスによるカバレッジを取ることができる、とのこと。
まさに探していたものだ!ということで、さっそく上の手順で手元のEclipse(3.2.2)にプラグインを組み込み動かしてみる。

結果は、無事成功。ソースコードの表示上に1行ごとに緑・黄・赤のカラフルな色分けがされ、行を網羅したかが判るようになった。
JUnitを使わないということで、どこかに修正が入ったら試験全てやり直し?という危惧も抱いたが、結果をファイルに保存し、別の結果とマージすることができるので、繰り返し試験を行うことで100%に近づけることができる。
(ただし、試験後に修正が入ったソースは、たとえ修正と関係ないメソッドであろうとも、未実施の状態になる模様。いや、なってくれなかったら困るけど。)

また、結果はhtmlのレポートとして出力することもできる(xml、テキスト等も可能な模様)。
EclEmmaは元々はEMMAという独立したツールらしいので、そっち向けの機能なのかも?

本当はきちんとJUnitを作るべきなんだろうけど・・・。そうも言ってられないときもあるので、こういうのは非常に有難い。

※ 最初調べていた Cobertura 等のツールでも、何とかできないことはない予感。ただ、JUnit前提の情報しか見つからず、挫折orz
スポンサーサイト

Tag: Eclipse EclEmma Tomcat

0 Comments

Leave a comment