カバレッジ計測用のCoverturaをNetBeansで使うときの設定メモ
気の利いたプラグインはないので、antをいじくる。
元ネタはここなんだけど、ちょっと「NetBeans的」ではないので、修正。NetBeansのwikiなのに。
CoberturaAnt - NetBeans Wiki
Coverturaはここから。今回は1.9.4.1というバージョンをダウンロード。
Cobertura download | SourceForge.net
まずは、PROJECT/nbproject/private/private.propertiesでCoverturaのパスを指定しておく。最後あたりに追加。
covertura.dir=C:\\java\\tool\\cobertura-1.9.4.1
つぎに、PROJECT/nbproject/project.propertiesにクラスパスなどの設定。run.test.classpathあたりを変更。
covertura.lib=\ ${covertura.dir}/lib/asm-3.0.jar:\ ${covertura.dir}/lib/asm-tree-3.0.jar:\ ${covertura.dir}/cobertura.jar:\ ${covertura.dir}/lib/jakarta-oro-2.0.8.jar:\ ${covertura.dir}/lib/log4j-1.2.9.jar run.test.classpath=\ ${covertura.lib}:\ ${build.instrumented.dir}:\ ${javac.test.classpath}:\ ${build.test.classes.dir}
あと、末尾にこんな感じの設定を追加。
build.instrumented.dir=${build.dir}/instrumented build.report.dir=${build.dir}/report build.report.cobertura.dir=${build.report.dir}/cobertura
最後にPROJECT/build.xmlに追加。
<target name="-post-init"> <taskdef classpath="${covertura.lib}" resource="tasks.properties"/> </target> <target name="-pre-compile-test"> <delete dir="${build.instrumented.dir}" /> <delete dir="${build.report.cobertura.dir}" /> <mkdir dir="${build.instrumented.dir}" /> <mkdir dir="${build.report.cobertura.dir}" /> <cobertura-instrument todir="${build.instrumented.dir}"> <fileset dir="${build.classes.dir}"> <include name="**/*.class"/> </fileset> </cobertura-instrument> </target> <target name="-post-test-run"> <!--You can disable the html portion if you are using the hudson plugin and rely on the xml--> <cobertura-report format="html" srcdir="${src.dir}" destdir="${build.report.cobertura.dir}"/> <!--Used by the hudson plug-in--> <cobertura-report format="xml" srcdir="${src.dir}" destdir="${build.report.cobertura.dir}"/> <delete file="cobertura.ser" /> </target>
これで、「プロジェクトをテスト」したときなどにPROJECT/build/report/coberturaにカバレッジ結果が生成される。