すべてのテストを実施する
AntからJUnitを起動させたときに、デフォルトではエラーないし失敗があるとビルドプロセスが終了してしまう。
しかしテストレポートは作成したいし、そもそもすべてのテストを実施しておきたい。
なので、
- "haltonerror""haltonfailure"を指定することで、エラーが発生してもプロセスが終了しないようにする
- "errorproperty""failureproperty"でエラーの時にプロパティを設定する
<!-- do tests! -->
<junit
fork="yes"
haltonfailure="false"
haltonerror="false"
errorproperty="TEST.ERROR"
failureproperty="TEST.FAILURE"
printsummary="on">
<classpath>
<pathelement location="${CLASSES.DIR}"/>
<fileset dir="${LIB.DIR}">
<include name="*.*"/>
</fileset>
<pathelement path="PATH.LIB"/>
</classpath>
<formatter type="xml" usefile="true"/>
<batchtest todir="${RESULTS.DIR}">
<fileset dir="${CLASSES.DIR}" includes="**/*Test.java"/>
</batchtest>
</junit>
<!-- create report! -->
<junitreport
todir="${REPORTS.DIR}">
<fileset dir="${RESULTS.DIR}">
<include name="*.xml"/>
</fileset>
<report format="frames"
todir="${REPORTS.DIR}"/>
</junitreport>
このままだとビルドプロセスが常に成功してしまうため、エラープロパティが設定されていたらfailにする。
<fail
if="JUNIT.ERROR"
message="error wwwwwww"/>
<fail
if="JUNIT.FAILURE"
message="failure wwwwwwww"/>
これで毎回すべてのテストレポートを見ることができる(コンパイルエラーが発生したときは無理だが・・・)。