Antでのjunit実行用ターゲット
djUnitでテストケース実行してユニットテストとカバレッジのレポートを出力するAntの記述。
毎回忘れるのでメモ。
<!-- IFタスク用 --> <taskdef classpath="./lib/antlib.jar" resource="net/sf/antcontrib/antlib.xml"/> <taskdef classpath="./lib/djunit.jar" resource="djunittasks.properties"/> <target name="test" description="ユニットテストを実行する."> <delete dir="${test.report.dir}" /> <delete dir="${test.coverage.dir}" /> <mkdir dir="${test.report.dir}" /> <mkdir dir="${test.coverage.dir}" /> <djunit printsummary="yes" targetsrcdir="${src.dir}" dir="${test.coverage.dir}" virtualmock="yes" coverage="yes" showoutput="yes"> <classpath> <pathelement path="."/> <pathelement path="${classpath.test}"/> <pathelement path="${classpath.main}"/> <fileset dir="lib"> <include name="*.jar"/> </fileset> </classpath> <formatter type="xml"/> <!-- djunitのhaltonerrorだと正常終了するので、error/failureの場合はプロパティに設定 --> <batchtest fork="yes" todir="${test.report.dir}" errorProperty="test.failed" failureProperty="test.failed"> <fileset dir="${test.dir}"> <include name="**/*Test.java"/> </fileset> </batchtest> </djunit> <junitreport> <fileset dir="${test.report.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${test.report.dir}"/> </junitreport> <delete file="TESTS-TestSuites.xml"/> <fail message="Tests failed: check test reports." if="test.failed" /> <if> <available file="${test.coverage.dir}/jcoverage.ser"/> <then> <djunit-coverage-report serFile="${test.coverage.dir}/jcoverage.ser" srcdir="${src.dir}" destdir="${test.coverage.dir}" charset="UTF-8" srcfileencoding="UTF-8"> <classpath refid="classpath.lib"/> </djunit-coverage-report> </then> </if> </target>