ant で JUnit のテスト結果をHTMLで出力する
前回の続きです~。
[java] ant の junit でテストクラスの ClassNotFoundException が出る場合の対処法。 - よしだのブログ
ant で JUnit を回せるようになると、今度はテストの履歴を残すようにしたくなりますよね?というわけで、テスト結果をHTMLで吐き出すように変更しました。結合テスト用の war ファイルビルド前に、勝手に実行するように組み込むといい感じです。なお、注意点としては、formatter type をかならず xml にする必要があります。
<!-- 【単体テスト】--> <target name="unittest"> <mkdir dir="report" /> <junit printsummary="true"> <formatter type="xml" /> <classpath> <pathelement path="build/classes"/> <!-- Tomcatライブラリ --> <fileset dir="${tomcat-home}/lib"> <include name="*.jar" /> </fileset> <!-- プロジェクトライブラリ --> <fileset dir="lib"> <include name="*.jar" /> <exclude name="esp4j-client.jar" /> </fileset> <!-- Web専用ライブラリ --> <fileset dir="src/webapp/WEB-INF/lib"> <include name="*.jar" /> </fileset> </classpath> <batchtest fork="yes" todir="report"> <fileset dir="src/custom/test"> <include name="**/*Test.java"/> <exclude name="**/TestAll.java"/> </fileset> </batchtest> </junit> <!-- ★JUnitの結果をエクスポートしたXMLをHTMLにまとめる。★--> <junitreport todir="report"> <fileset dir="report"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="report/html"/> </junitreport> </target>
さらに、JUnitReportEx を使うと、結果レポートにテストケースの JavaDoc コメントが出力されるので、どんなテストに対する結果なのか JavaDoc を見れば分かるようになるので更に幸せになれます。
歪(2006-11-13)
今どきのエンジニアは Jenkins でも立ててCIするんでしょうけども、お手軽に品質アップを狙うのに ant はいいんでは無いでしょうか?build.xml がどんどん大きくなってきたので、Grails に移行したいな。。
ご参考までに。