【Ant】 Ant で jUnit を実行する

  サンプル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>

 

  どうでもいいことかもしれんが...

 * EclipseJUnitビューで、[▼]-[Import]で、JUnitで出力されるXMLを選択すれば結果が分かりやすくなる。

 ただ、Eclipseがあるなら、JUnitの最上位フォルダを右クリックし、[Run]-[JUnit]を選択すれば
 全JUnitテストをしてくれるので、antで行う必要なくなるか...

 

 

  関連記事

  JUnit ~基本編~

http://blogs.yahoo.co.jp/dk521123/6856379.html