biggie(原作)

   
隨著Refactoring技術和XP軟體工程技術的廣泛推廣,單元測試的作用在軟體工程中變得越來越重要,而一個簡明易學、適用廣泛、高效穩定的單元測試框架則對成功的實施單元測試有著至關重要的作用。在java編程語句環境裏,Junit Framework是一個已經被多數java程式師採用和實證的優秀的測試框架,但是多數沒有嘗試Junit Framework的程式師在學習如何Junit Framework來編寫適應自己開發專案的單元測試時,依然覺得有一定的難度,這可能是因為Junit隨框架代碼和實用工具附帶的用戶指南和文檔的著重點在於解釋單元測試框架的設計方法以及簡單的類使用說明,而對在特定的測試框架(Junit)下如何實施單元測試,如何在專案開發的過程中更新和維護已經存在的單元測試代碼沒有詳細的解釋。因此本文檔就兩個著重點對Junit所附帶的文檔進行進一步的補充和說明,使Junit能被更多的開發團隊採用,讓單元測試乃至RefactoringXP技術更好在更多的開發團隊中推廣。

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

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

build.xml

<?xml version="1.0" encoding="gb2312"?>
<!--
測試文件,並將測試報告發送到開發人員指定的信箱 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>
生成測試報告後,調用emai.bat檔,執行一發送郵件操作。為實現群發,所以我採用的是別外寫一應用程式發送郵件,當然您也可以用ant直接發送郵件。程式師第7期有相關文章介紹,這裏我就不多說了。
本文提供的是一個思路,你還可以實現更強大的功能,分佈測試整體測試等等.