サンプル1 : JUnitテスト単体を実行する
build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project basedir="." default="CalcTest" name="SampleJavaCodes"> <property name="ECLIPSE_HOME" value="../../eclipse/"/> <property name="junit.output.dir" value="junit"/> <property name="junit.output.html.dir" value="${junit.output.dir}/html"/> <path id="JUnit 4.libraryclasspath"> <pathelement location="${ECLIPSE_HOME}plugins/org.junit_4.11.0.v201303080030/junit.jar"/> <pathelement location="${ECLIPSE_HOME}plugins/org.hamcrest.core_1.3.0.v201303031735.jar"/> </path> <path id="SampleJavaCodes.classpath"> <pathelement location="bin"/> <path refid="JUnit 4.libraryclasspath"/> </path> <target name="CalcTest"> <mkdir dir="${junit.output.dir}"/> <mkdir dir="${junit.output.html.dir}"/> <junit fork="yes" printsummary="withOutAndErr"> <formatter type="xml"/> <test name="com.sample.CalcTest" todir="${junit.output.dir}"/> <classpath refid="SampleJavaCodes.classpath"/> </junit> <!-- JUnitの結果XML=>HTML --> <junitreport todir="${junit.output.dir}"> <fileset dir="${junit.output.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${junit.output.html.dir}"/> </junitreport> </target> </project>
サンプル2 : JUnitテスト全体を実行する
build.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project basedir="." default="TestAll" name="SampleJavaCodes"> <property name="ECLIPSE_HOME" value="../../eclipse/"/> <property name="junit.output.dir" value="result"/> <property name="junit.output.html.dir" value="${junit.output.dir}/html"/> <property name="junit.src.test" value="./junit"/> <path id="JUnit 4.libraryclasspath"> <pathelement location="${ECLIPSE_HOME}plugins/org.junit_4.11.0.v201303080030/junit.jar"/> <pathelement location="${ECLIPSE_HOME}plugins/org.hamcrest.core_1.3.0.v201303031735.jar"/> </path> <path id="SampleJavaCodes.classpath"> <pathelement location="bin"/> <path refid="JUnit 4.libraryclasspath"/> </path> <target name="TestAll"> <mkdir dir="${junit.output.dir}"/> <mkdir dir="${junit.output.html.dir}"/> <junit fork="yes" printsummary="withOutAndErr"> <formatter type="xml"/> <batchtest fork="yes" todir="${junit.output.dir}" > <fileset dir="${junit.src.test}" > <include name="**/*Test.java" /> </fileset> </batchtest> <classpath refid="SampleJavaCodes.classpath"/> </junit> <!-- JUnitの結果XML=>HTML --> <junitreport todir="${junit.output.dir}"> <fileset dir="${junit.output.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="noframes" todir="${junit.output.html.dir}"/> </junitreport> </target> </project>
どうでもいいことかもしれんが...
* EclipseのJUnitビューで、[▼]-[Import]で、JUnitで出力されるXMLを選択すれば結果が分かりやすくなる。 ただ、Eclipseがあるなら、JUnitの最上位フォルダを右クリックし、[Run]-[JUnit]を選択すれば 全JUnitテストをしてくれるので、antで行う必要なくなるか...
参考文献
http://symfoware.blog68.fc2.com/blog-entry-993.htmlhttp://siguremon.blogspot.jp/2012/11/junitant-ver.html
* HTML形式のレポート
http://blog.yoslab.com/entry/2013/12/25/191044
http://www.jajakarta.org/ant/ant-1.5/docs/ant-1.5/j/docs/manual/OptionalTasks/junitreport.html