- 追加された行はこの色です。
- 削除された行はこの色です。
今回は以下のUnitテスティングツール:
今回は以下のUnitテスティングツール~
[[Clover:http://www.thecortex.net/clover]]
を試用してみました。
***概要
サイトの引用ですが、
Unit tests drive code quality;
Clover drives unit test quality.
ということだそうです。UnitTestが効率よくできればよいんですが。。
***インストール
Antのタスクだそうで、build.xmlを使用する際に、
<path id="build.classpath">
<pathelement path="../lib/clover.jar" />
<pathelement path="${ant.home}/lib/junit.jar"/>
</path>
とパスを通すこと、あとは${ANT_HOME}/lib/にclover.jarを置けばOKです。
***Tutorialの準備
Tutorialをやってみました。Tutorialに添付されたファイルは、とりあえずJUnitが稼動するまでのファイルになっていて、チュートリアルに沿ってファイルを修正していく、というものです。
いまのところ、
clover.jarにクラスパスを通す
<path id="build.classpath">
<pathelement path="../lib/clover.jar" />
<pathelement path="${ant.home}/lib/junit.jar"/>
<pathelement path="${build}"/>
</path>
タスクの一斉定義
<taskdef resource="clovertasks" >
<classpath refid="build.classpath"/>
</taskdef>
clover初期化(?)タスク
<target name="with.clover">
<clover-setup initString="demo_coverage.db"/>
</target>
を追加しました。んで、いままで
ant code <-コンパイルタスク
としていたところを
ant with.clover code
とすると、コンパイルをフックしてcloverがなんかをやっているみたいです。実行結果は
code:
[javac] Compiling 4 source files to xxxxxxx
[clover] Clover Version 1.2.4, built on December 01 2003
[clover] loaded from: file:/C:/javatools/ant/lib/clover.jar
[clover] 30 day Evaluation License registered to m-kino@nri.co.jp
[clover] You have 29 day(s) before your Evaluation License expires.
[clover] No coverage database 'xxxxxx\demo_coverage.db' found. Creating a fresh one.
[clover] Clover all over. Instrumented 4 files.
となりました。(バイトコードに何か処理を追加しているんでしょうか。そのコードをテストして意味があんのかって話はあるよね)((デコンパイルしてみたら、たしかにcloverパッケージのクラスをimportしてなんか使ってました。))
***使い方
先ほどの通り、コンパイルタスクの前にwith.cloverタスクを実行することで、テスト結果データベースなどを作成するみたいです。あとはant testなどを行うと、そのデータベースに情報が書き込まれて蓄積されていく仕様みたいです。さて、次はテストレポートを作成しましょう。
以下のタスクを追加します。
<target name="report.html" depends="with.clover">
<clover-report>
<current outfile="clover_html" title="clover demo">
<format type="html"/>
</current>
</clover-report>
</target>
そして
ant report.html
でJavaDoc風のレポートが作成されました。
***GUIを使用する
<target name="clover.view" depends="with.clover">
<clover-view/>
</target>
を実行することで、
#ref(image.png)
が起動します。ここから、PDFの生成とかができるみたいです。
#navi(Ant)
SIZE(10){現在のアクセス:&counter;}