Junitで実行したテスト結果、カバレッジを出力できます。
今回はAntビルドファイルで。
下記サンプルを使用すると、JUnit、Jcoverageのレポートを出力します。
ビルドファイルで使用するプロパティファイルものっけときます。
※ECLIPSE_INSTALL_DIR は eclipse をインストールしたディレクトリに修正すること!
【unittest.xml】
<?xml version="1.0" encoding="UTF-8"?>
<project name="djUnit" basedir="." default="djunit.test">
<property file="djunit.properties" />
<!-- クラスパスの設定 -->
<path id="class.path">
<fileset dir="${djunit.lib.dir}">
<include name="**/*.jar" />
</fileset>
<fileset dir="./lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="${ant.dir.lib}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${junit.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- classpathにdjUnitのjarを指定する -->
<taskdef name="djunit" classname="jp.co.dgic.djunit.ant.DJUnitTask" classpath="${ECLIPSE_INSTALL_DIR}/plugins/jp.co.dgic.eclipse.jdt.djunit_0.8.3/djunit.jar" />
<taskdef name="djunit-coverage-report" classname="jp.co.dgic.djunit.ant.CoverageHtmlReportTask" classpath="${ECLIPSE_INSTALL_DIR}/plugins/jp.co.dgic.eclipse.jdt.djunit_0.8.3/djunit.jar" />
<taskdef name="report" classname="com.jcoverage.ant.CoverageReportTask">
<classpath refid="class.path" />
</taskdef>
<!--=============== compile ===============-->
<target name="compile">
<!-- <delete dir="${out.dir}"/> -->
<mkdir dir="${out.dir}" />
<javac srcdir="${src.dir}" encoding="UTF-8" destdir="${out.dir}" debug="yes" classpathref="class.path" />
<javac srcdir="${src.test.dir}" encoding="UTF-8" destdir="${out.dir}" debug="yes" classpathref="class.path" />
<copy todir="${out.dir}">
<fileset dir="./resources">
<include name="**/*.*" />
<include name="*.*" />
</fileset>
<fileset dir="./resources_test">
<include name="**/*.*" />
<include name="*.*" />
</fileset>
</copy>
</target>
<!--=============== test ===============-->
<target name="djunit.test" depends="compile">
<!-- 出力フォルダの作成 フォルダ名 + 日時 -->
<delete dir="${junit.report.dir}" />
<mkdir dir="${junit.report.dir}" />
<djunit printsummary="yes" targetsrcdir="${src.dir}" virtualmock="yes" coverage="yes">
<classpath refid="class.path" />
<classpath path="${out.dir}" />
<formatter type="xml" />
<batchtest todir="${junit.report.dir}">
<fileset dir="${out.dir}">
<include name="${test.dir}" />
</fileset>
</batchtest>
</djunit>
<junitreport>
<fileset dir="${junit.report.dir}">
<include name="TEST-*.xml" />
</fileset>
<report format="frames" todir="${junit.report.dir}" />
</junitreport>
</target>
<!--=============== djUnit Coverage Report ===============-->
<target name="djunit.report" depends="djunit.test">
<delete dir="${coverage.report.dir}" />
<mkdir dir="${coverage.report.dir}" />
<djunit-coverage-report serFile="./jcoverage.ser" srcdir="${src.dir}" destdir="${coverage.report.dir}">
<classpath refid="class.path" />
</djunit-coverage-report>
</target>
</project>
【djunit.properties】
#djUnitのプラグインのフォルダ
djunit.lib.dir=${ECLIPSE_INSTALL_DIR}/plugins/jp.co.dgic.eclipse.jdt.djunit_0.8.3
#antプラグインのlibフォルダ
ant.dir.lib=${ECLIPSE_INSTALL_DIR}/plugins/org.apache.ant_1.7.0.v200706080842/lib
#junitプラグインのフォルダ
junit.dir=${ECLIPSE_INSTALL_DIR}/plugins/org.junit4_4.3.1
#ソースフォルダ
src.dir=./src
#テストソースフォルダ
src.test.dir=./test
#クラスの出力フォルダ
out.dir=./bin
#djUnitのレポート出力フォルダ
junit.report.dir=./report/junit
#カバレッジの出力フォルダ
coverage.report.dir=./report/coverage
#テストを実行するパッケージを指定する
test.dir=jp/co/**/*Test.class
ex.path=*.accountmanagement.*
1 コメント:
2019年4月22日 19:20
こんばんは。
カバレッジ測定、便利ですね!
コメントを投稿