Vincent.Chan‘s Blog

          常用鏈接

          統(tǒng)計

          積分與排名

          網(wǎng)站

          最新評論

          Ant+junit的測試自動化

          隨著Refactoring技術(shù) 和XP軟件工程技術(shù)的廣泛推廣,單元測試的作用在軟件工程中變得越來越重要,而一個簡明易學(xué)、適用廣泛、高效穩(wěn)定的單元測試框架則對成功的實施單元測試有 著至關(guān)重要的作用。在java編程語句環(huán)境里,Junit Framework是一個已經(jīng)被多數(shù)java程序員采用和實證的優(yōu)秀的測試框架,但是多數(shù)沒有嘗試Junit Framework的程序員在學(xué)習(xí)如何Junit Framework來編寫適應(yīng)自己開發(fā)項目的單元測試時,依然覺得有一定的難度,這可能是因為Junit隨框架代碼和實用工具附帶的用戶指南和文檔的著重 點在于解釋單元測試框架的設(shè)計方法以及簡單的類使用說明,而對在特定的測試框架(Junit)下如何實施單元測試,如何在項目開發(fā)的過程中更新和維護已經(jīng) 存在的單元測試代碼沒有詳細的解釋。因此本文檔就兩個著重點對Junit所附帶的文檔進行進一步的補充和說明,使Junit能被更多的開發(fā)團隊采用,讓單 元測試乃至Refactoring、XP技術(shù)更好在更多的開發(fā)團隊中推廣。

             本文將以代碼方式展示ant+junit進行整體測試的方法,并生成測試報告,發(fā)送給開發(fā)人員的信箱

              將junit.jar放在ant_home/lib下,然后編寫build.xml文件  

          build.xml

          <?xml version="1.0" encoding="gb2312"?>
          <!--測試文件,并將測試報告發(fā)送到開發(fā)人員指定的信箱
           by biggie(biggie@hns-soft.com)-->
          <project name="test" default="build" basedir=".">
           <property environment="env"/>
           <property name="j2ee" value="env.j2ee_home"/>
           <property name="base.dir" value="." />
          <!--定義測試源文件-->
           <property name="src" value="${base.dir}/test" />
          <!--定義輸出位置-->
           <property name="classes" value="${base.dir}/defaultroot/WEB-INF/classes"/>
          <!--定義lib-->
           <property name="lib" value="${base.dir}/lib"/>
          <!--定義classpath-->
           <path id="appclasspath">
            <pathelement path="${java.class.path}"/>
            <fileset dir="${base.dir}/defaultroot/WEB-INF/lib">
             <include name="*.jar"/>
            </fileset>
            <pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
            <pathelement location="D:/j2sdkee1.3.1/lib/j2ee.jar"/>
           </path>
             <!--initialization-->
           <target name="init">
                  <tstamp/>
                  <mkdir dir="${classes}"/>
              </target>
              <target name="compiletest" depends="init">
                  <!--javac-->
                  <javac srcdir="${src}" destdir="${classes}" debug="off">
            <classpath refid="appclasspath"/>
                      <include name="**/*.java" />
                  </javac>
              </target>
              <target name="build" depends="compiletest,run">
             <tstamp/>
              <exec executable="${base.dir}/email.bat" >
            </exec>
              </target>
              <target name="run">
             <junit>
            <classpath refid="appclasspath"/>
            <classpath>
             <pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
            </classpath>
            <formatter type="xml"/>
            <test name="test.AllTests" haltonfailure="no" outfile="result"/>
              </junit>
             <junitreport todir="./report">
            <fileset dir=".">
             <include name="result.xml"/>
            </fileset>
            <report format="noframes" todir="./report"/>
                   </junitreport>
              </target>
              </project>

          生成測試報告后,調(diào)用emai.bat文件,執(zhí)行一發(fā)送郵件操作。為實現(xiàn)群發(fā),所以我采用的是別外寫一應(yīng)用程序發(fā)送郵件,當(dāng)然您也可以用ant直接發(fā)送郵件。程序員第7期有相關(guān)文章介紹,這里我就不多說了。

          本文提供的是一個思路,你還可以實現(xiàn)更強大的功能,分布測試整體測試等等.

          posted on 2006-02-15 00:03 Vincent.Chen 閱讀(150) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 乐平市| 阜阳市| 灵武市| 德兴市| 永泰县| 庄浪县| 手游| 临汾市| 武夷山市| 保靖县| 全州县| 紫阳县| 苗栗市| 博湖县| 卓尼县| 镇巴县| 饶平县| 长兴县| 金湖县| 大姚县| 永定县| 杂多县| 博白县| 通州区| 五华县| 尼勒克县| 周至县| 景德镇市| 渭南市| 平山县| 新巴尔虎左旗| 安平县| 长丰县| 上林县| 阿坝县| 城口县| 平顶山市| 韶山市| 仁化县| 炎陵县| 上栗县|