#topicpath
----
今回は以下の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の生成とかができるみたいです。


----
この記事は
#vote(おもしろかった,そうでもない)

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS