<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    IT精英俱樂部

    方便自己查閱,僅此而已!

    統計

    留言簿(4)

    閱讀排行榜

    評論排行榜

    用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-04-09 12:35 suplayer 閱讀(490) 評論(0)  編輯  收藏 所屬分類: Ant

    主站蜘蛛池模板: 最近中文字幕免费大全| 一级毛片成人免费看a| 久久久久久曰本AV免费免费| 亚洲AV无码乱码国产麻豆| 国产精品午夜免费观看网站| 在线观看亚洲精品福利片| 女人裸身j部免费视频无遮挡| 亚洲精品WWW久久久久久| 久香草视频在线观看免费| 狠狠色婷婷狠狠狠亚洲综合| 丁香花在线观看免费观看图片| 久久久久久A亚洲欧洲AV冫| 国产一二三四区乱码免费| 亚洲国产精品SSS在线观看AV| 一级毛片在线免费观看| 亚洲精品午夜视频| 扒开双腿猛进入爽爽免费视频| 高h视频在线免费观看| 国产一级特黄高清免费大片| 永久免费无码日韩视频| 亚洲男同帅GAY片在线观看| 亚洲乱码一区二区三区国产精品| 免费av欧美国产在钱| 在线观看国产一区亚洲bd| 亚洲av片一区二区三区| av永久免费网站在线观看| 亚洲精品视频在线观看免费 | 亚洲AV永久无码精品一福利 | 久久久久久亚洲精品| 国产成在线观看免费视频| 日韩在线视精品在亚洲| 亚洲产国偷V产偷V自拍色戒| 我的小后妈韩剧在线看免费高清版| 亚洲人成电影网站色| 久久精品国产精品亚洲| 91成人在线免费观看| 日韩在线视精品在亚洲| 337p日本欧洲亚洲大胆艺术| 国产zzjjzzjj视频全免费| 国产麻豆成人传媒免费观看| 亚洲中文字幕乱码熟女在线|