ようこそ、皆さん

          開心幸福生活每一天。。。

          JPLT2が合格しましたが、會話と聴力はまだまだです。これからも、がんばれ!!!

          用Ant編譯、junit測試、生成測試報告、最終自動發mail

          紅色部分是自己所寫,黑色部分是參照別人的。。。
          測試通過的版本如下:
          Eclipse:3.3.2
          jdk:1.6
          junit:3.8
          ant:1.7(1.7之前的版本好像還不提供mail功能。。。)

          <!-- JUnit build script using ant 1.7 -->
          <project name="JunitTestProject" default="mail" basedir=".">
           <property name="app.name" value="JunitTestProject" />
           <property name="build.dir" value="bin" />

           <!-- ====================" path  define  " ================================ -->
           <path id="cobertura.classpath">
            <fileset dir="lib/coberture">
             <include name="cobertura.jar" />
             <include name="*.jar" />
            </fileset>
           </path>
           <!-- ====================" cobertura task define  " Target ================================ -->
           <taskdef classpathref="cobertura.classpath" resource="tasks.properties" />

           <!-- ==================== "clean " Target ================================ -->
           <target name="clean">
            <available property="junit.present" classname="junit.framework.TestCase" />
            <delete dir="${build.dir}" quiet="true" />
            <delete file="report" quiet="true" />
           </target>

           <!-- ==================== "copy xml resource " Target ================================ -->
           <target name="copyxml" depends="clean">
            <copy todir="${build.dir}/testcases">
             <fileset dir="WEB-INF" />
            </copy>
           </target>

           <!-- ==================== "compile  src" Target ================================ -->
           <target name="compile" depends="copyxml">
            <mkdir dir="${build.dir}" />
            <javac srcdir="src" destdir="${build.dir}" debug="yes">
             <classpath>
              <fileset dir="lib" casesensitive="yes">
               <include name="**/*.jar" />
              </fileset>
             </classpath>
             <include name="**/*.java" />
            </javac>
            <javac srcdir="WEB-INF" destdir="${build.dir}">
             <classpath>
              <fileset dir="lib" casesensitive="yes">
               <include name="**/*.jar" />
              </fileset>
             </classpath>
             <include name="*.jsp" />
            </javac>
           </target>

           <!-- ==================== jar" Target ================================ -->
           <target name="jar" depends="compile">
            <mkdir dir="dist/lib" />
            <jar jarfile="dist/lib/${app.name}.jar" basedir="${build.dir}" includes="com/**" />
           </target>

           <!-- ==================== compile test src" Target ================================ -->
           <target name="compiletests" depends="jar">
            <mkdir dir="${build.dir}/testcases" />
            <javac srcdir="test" destdir="${build.dir}/testcases" >
             <classpath>
              <fileset dir="lib" casesensitive="yes">
               <include name="**/*.jar" />
              </fileset>
              <fileset dir="dist/lib" casesensitive="yes">
               <include name="**/*.jar" />
              </fileset>
             </classpath>
             <include name="**/*.java" />
            </javac>
           </target>

           <!-- ==================== instrumented" Target ================================ -->
           <target name="instrumented" depends="compiletests">
            <cobertura-instrument todir="bin/instrumented-classes">
             <ignore regex="org.apache.log4j.*" />
             <fileset dir="bin">
              <include name="com/**/*.class" />
             </fileset>
            </cobertura-instrument>
           </target>

           <!-- ==================== junit-test" Target ================================ -->
           <target name="runtests" depends="instrumented">
            <mkdir dir="report" />
            <property name="tests" value="*Test" />
            <junit printsummary="yes" haltonerror="yes" haltonfailure="yes" fork="yes">

             <formatter type="plain" usefile="false" />
             <formatter type="xml" />
             <batchtest todir="report">
              <fileset dir="test">
               <include name="**/${tests}.java" />
               <exclude name="**/ConfigTest.java" />
              </fileset>
             </batchtest>
             <!--
              Note the classpath order: instrumented classes are before the
              original (uninstrumented) classes.  This is important.
             -->
             <classpath location="bin/instrumented-classes" />
             <!--
              src classpath
             -->
             <classpath location="bin" />

             <!--
              The instrumented classes reference classes used by the
              Cobertura runtime, so Cobertura and its dependencies
              must be on your classpath.
             -->
             <classpath refid="cobertura.classpath" />
             <!--
              test case class path define
             -->
             <classpath>
              <fileset dir="lib" casesensitive="yes">
               <include name="**/*.jar" />
              </fileset>
              <pathelement location="bin/testcases" />
             </classpath>
            </junit>
           </target>

           <!-- ==================== junit-report" Target ================================ -->
           <target name="report" depends="runtests">
            <mkdir dir="report/html" />
            <junitreport todir="report">
             <fileset dir="report">
              <include name="TEST-*.xml" />
             </fileset>
             <report todir="report/html" />
            </junitreport>
           </target>


           <!-- ==================== "coverage-report" Target ================================ -->
           <target name="coverage-report" depends="report">
            <cobertura-report format="html" destdir="cobertura" >
             <fileset dir="src">
              <include name="**/*.java" />
             </fileset>
            </cobertura-report>
            <echo>The execution of coverage-report is complete. Coverage Reports are available in /${coverage-report}</echo>
           </target>
           
           <!-- ==================== "make file to zip" Target ================================ -->
           <target name="make_data_zip" depends="coverage-report">
            <tstamp>
             <format property="date" pattern="yyyy-MM-dd HH-mm" />
            </tstamp>
            <jar jarfile="dist/lib/cobertura${date}.zip" basedir="cobertura" />
            <jar jarfile="dist/lib/report${date}.zip" basedir="report" excludes="*.xml"/>
           </target>

          <!-- ==================== "mail" Target ================================ -->
           <target name="mail" depends="make_data_zip">
            <!-- <taskdef name="mail" classname="org.apache.tools.ant.taskdefs.optional.mail.MimeMail"/> -->
            <tstamp/>
            <mail messageMimeType="text/html"
                              messageFile="message.txt"
                              tolist="
          bpcjy@hotmail.com"
                              mailhost="mailsvr or mail IPAddress"
                              subject="JUnit Test Results: ${TODAY}"
                              from="
          bpcjy@hotmail.com">
             <fileset dir=".">
              <include name="dist/lib/*.zip"/>
             </fileset>
            </mail>
           </target>

          </project>



          快快樂樂、認認真真生活才是真。

          posted on 2009-03-13 14:32 鮑佩 閱讀(3658) 評論(3)  編輯  收藏 所屬分類: ant

          評論

          # re: 用Ant編譯、junit測試、生成測試報告、最終自動發mail 2009-03-16 12:20 XXXXXXXXXXXX

          狗屎 干嘛學日語  回復  更多評論   

          # re: 用Ant編譯、junit測試、生成測試報告、最終自動發mail 2009-03-17 14:51 anti-cpc

          樓上正白癡。 別人學日語干你X事,死糞糞  回復  更多評論   

          # re: 用Ant編譯、junit測試、生成測試報告、最終自動發mail 2015-02-03 15:24 謝霆鋒

          關你籃子事  回復  更多評論   

          平平淡淡,認認真真生活才是真。
          主站蜘蛛池模板: 鞍山市| 安福县| 木里| 丽水市| 杭州市| 会理县| 乌苏市| 闵行区| 齐齐哈尔市| 乾安县| 淄博市| 黄梅县| 平乐县| 南宁市| 中山市| 巫山县| 泊头市| 山阴县| 镇坪县| 耒阳市| 铜陵市| 大港区| 特克斯县| 甘谷县| 合作市| 汝州市| 泽州县| 潞西市| 石狮市| 保山市| 临颍县| 拉孜县| 宁武县| 澄迈县| 西乡县| 密云县| 大洼县| 建宁县| 驻马店市| 盐边县| 德庆县|