您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
軟件測(cè)試之使用ant進(jìn)行junit測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/20 14:24:56 ] 推薦標(biāo)簽:

二.Junit聯(lián)手Ant
ant 我們已經(jīng)很熟悉了.直接把buile.xml配置好,值得學(xué)習(xí)的是build中關(guān)于使用junit和junitreport這兩個(gè)任務(wù)標(biāo)簽.
<?xml version="1.0" encoding="GB2312" ?>    <!--encoding屬性解決了注釋中文問題-->
<project name="junitlesson" default="report">
 <property file="lesson6.property"/>
 <target name="init">
  <mkdir dir="${classes.java.dir}"/>
  <mkdir dir="${classes.test.dir}"/>
 </target>
 
 <target name="compilejava" depends="init">
  <javac srcdir="${src.java.dir}/cn/itcast" destdir="${classes.java.dir}" />
 
 </target>
 
 <target name="compiletest" depends="init">
  <javac srcdir="${src.test.dir}/cn/itcast" destdir="${classes.test.dir}" >
  <classpath>
    <pathelement location="${classes.java.dir}" />
   </classpath>
  </javac>
 </target>
 
 <target name="compile" depends="compilejava,compiletest" />
 
 <target name="clean">
   <delete dir="{classes.java.dir}" />
   <delete dir="{classes.test.dir}" />
 </target>
 
 <target name="test" depends="clean,compile">
  <mkdir dir="reports" />
  <junit fork="true" printsummary="on"  >
  <classpath>
    <pathelement location="${classes.junit.dir}" />
   <pathelement location="${classes.java.dir}" />
   <pathelement location="${classes.test.dir}" />  
  </classpath>
  <!--test name="cn.itcast.TestFindChar" todir="." /-->
 
  <!--沒有formatter看不到輸出信息,可以有多個(gè)formatter如果出錯(cuò)退出了build(haltonfailure)-->
  <batchtest fork="yes" todir="reports">                    <!--批處理-->
    <fileset dir="${src.test.dir}">
<!--注意include和includes的區(qū)別,我在這吃了大虧,找這個(gè)錯(cuò)誤浪費(fèi)了我好多時(shí)間-->
 <!-- batchtest指定的java源文件或class文件,而不是要運(yùn)行的測(cè)試類名稱,junit從這些文件中找出要運(yùn)行的測(cè)試類名-->   

      <include name="**/*Test*.java"/>            
      <exclude name="**/AllTests.java"/>
    </fileset>
  </batchtest>
  <formatter type="brief" usefile="false"/>  <!--如果沒有設(shè)置formatter,將無法打印出詳細(xì)的信息-->
 
  <formatter type="plain" /><!--默認(rèn)usefile為true,將會(huì)自動(dòng)創(chuàng)建txt文件-->
  <formatter type="xml" />
 
  </junit>
 </target>
 
 <target name="report" depends="test">
  <junitreport todir="." >
   <fileset dir="./reports">
    <include name="TEST-*.xml" />                      <!--根據(jù)指定文件夾中的.xml文件生成html格式的測(cè)試report-->
   </fileset>
   <report format="frames" todir="." />
  </junitreport>
 </target>
</project>
build中用到的.property文件:
src.java.dir=src/java
src.test.dir=src/test
classes.java.dir=classes/java
classes.test.dir=classes/test
class1=junit.swingui.TestRunner
classes.junit.dir=D:junit3.8.1junit.jar
看到?jīng)]有,在build中配置的是junit.swingui.TestRunner,程序運(yùn)行之后的測(cè)試結(jié)果應(yīng)該顯示在圖形界面中,但是,ant運(yùn)行以后,是以文字信息在命令行窗口中輸出的,至于原因可能是類加載器的問題.
ant完成之后生成的.html格式的report,如下圖:

這樣可以根據(jù)測(cè)試結(jié)果來完善我們的程序了,用起來也很方便的.
三.總結(jié)
在使用ant進(jìn)行junit測(cè)試的時(shí)候,我們應(yīng)該注意的是,在src目錄下,創(chuàng)建java和test兩個(gè)文件夾,java中放被測(cè)試類,test中放測(cè)試類,但是它們的包名是相同的,這叫分離但等同.還應(yīng)該注意的是,classpath應(yīng)該設(shè)置正確,還有腦子要清晰,否則會(huì)因?yàn)榘麊栴}浪費(fèi)過多的時(shí)間.
在極限編程(XP)中,TDD(Test Driven Development)是一種實(shí)踐.測(cè)試驅(qū)動(dòng)開發(fā).我們應(yīng)該養(yǎng)成這種測(cè)試先行的行為習(xí)慣.

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd