Menu

FrontPage

Eclipseプラグイン
Eclipse小技集
リファクタリング講座
テスティングフレームワーク JUnit
MSDEについて



The 20 newest affair
2010-09-092010-09-082010-09-072010-09-062010-09-012010-08-312010-08-272010-08-242010-08-232010-08-172010-08-162010-07-302010-07-212010-07-132010-06-272010-06-182010-06-172010-06-16

この機能は、version0.8.0で削除されました


はじめに


このdjunit-instrumentタスクは、jcoverageの「instrument」タスクの代替です。
jcoverageが動作する環境と、jcoverage用のbuild.xmlありきで説明します。

djunitタスクを利用すると、このdjunit-instrumentは必要ありませんので、
なるべく、djunitタスクを利用してください。

また、これらサンプルは、ant1.5.1で確認しました。

この方法は、.classファイルを事前に加工し、改造された.classファイルの方を実行するように、クラスパスを調整する方法です。

djunit-instrumentタスク  Λ


djunit-intrumentの属性は4つあります。[2005/04/05]Version0.7.0 targetSrcDir属性追加

属性名設定できる値デフォルト値必須
todirディレクトリのパス必須
targetSrcDir検査対象クラスのソースディレクトリのパス必須
virtualmockyes/on/true, no/off/falseno
coverageyes/on/true, no/off/falseyes

使用例  Λ



	<taskdef classpath="djunit.jar" resource="djunittasks.properties"/>

	<target name="instrument">

		<djunit-instrument todir=..... targetSrcDir=..... coverage="yes" virtualmock="yes">

			<classpath ..... />

			<fileset dir=.....>
				<include name="**/*.class"/>
			</fileset>

		</djunit-instrument>

	</target>

上記みるとわかりますが、

  • filesetタスクでincludeされたクラスファイルを加工
  • djunit-instrumentタスクのtodir属性で指定されたディレクトリに加工後のクラスファイルを書き込む
  • coverageとVMOを適用するかどうかは、djunit-instrumentタスクのcoverage, virtualmock属性で指定
  • 加工するときに必要なクラスパスは、classpathタスクで指定

といったところです。
後は、加工後のクラスを実行するように、クラスパスを調整して、テストを実行させてください。

taskdefタスクのclasspath属性では、djunit.jarファイルを指定していますが、
ANT_HOMEのlibディレクトリの中に、djunit.jarをコピーしているときは、classpath属性は省略できます。

問題点  Λ


このdjunit-instrumentタスクには、問題があります。

  • 実行速度が遅い
  • 大量のクラスファイルを処理できない

ですので、djunitタスクを新設しました。そちらのやり方では、これらの問題が解決されます。


Attached File: [Attached File All List]

Lastmodified: 2007-05-05 (土) 10:03:10 (1223d)