您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
單元測試?yán)鱆Unit
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/29 14:59:08 ] 推薦標(biāo)簽:

    剩下的工作是要編寫 Ant 構(gòu)建腳本 build.xml。雖然這個過程稍嫌繁瑣,但這是一件一勞永逸的事情。現(xiàn)在我們把前面編寫的測試用例都放置到 Ant 構(gòu)建腳本中執(zhí)行,為項目 coolJUnit 的構(gòu)建腳本添加一下內(nèi)容:

Xml代碼 復(fù)制代碼

    <?xml version="1.0"?> 
    <!-- =============================================   
         auto unittest task      
         ai92                                                                  
         ========================================== --> 
    <project name="auto unittest task" default="junit and report" basedir="."> 
     
            <property name="output folder" value="bin"/> 
     
            <property name="src folder" value="src"/> 
          
            <property name="test folder" value="testsrc"/> 
          
            <property name="report folder" value="report" /> 
     
            <!-- - - - - - - - - - - - - - - - - -   
              target: test report folder init                        
             - - - - - - - - - - - - - - - - - --> 
            <target name="test init"> 
                <mkdir dir="${report folder}"/> 
            </target> 
          
            <!-- - - - - - - - - - - - - - - - - -   
              target: compile                        
             - - - - - - - - - - - - - - - - - --> 
            <target name="compile"> 
                <javac srcdir="${src folder}" destdir="${output folder}" /> 
                <echo>compilation complete!</echo> 
            </target> 
     
            <!-- - - - - - - - - - - - - - - - - -   
              target: compile test cases                        
             - - - - - - - - - - - - - - - - - --> 
            <target name="test compile" depends="test init"> 
                <javac srcdir="${test folder}" destdir="${output folder}" /> 
                <echo>test compilation complete!</echo> 
            </target> 
          
            <target name="all compile" depends="compile, test compile"> 
            </target> 
          
            <!-- ========================================   
              target: auto test all test case and output report file                        
            ===================================== --> 
            <target name="junit and report" depends="all compile"> 
                <junit printsummary="on" fork="true" showoutput="true"> 
                    <classpath> 
                        <fileset dir="lib" includes="**/*.jar"/> 
                        <pathelement path="${output folder}"/> 
                    </classpath> 
                    <formatter type="xml" /> 
                    <batchtest todir="${report folder}"> 
                        <fileset dir="${output folder}"> 
                            <include name="**/Test*.*" /> 
                        </fileset> 
                    </batchtest> 
                </junit> 
                <junitreport todir="${report folder}"> 
                    <fileset dir="${report folder}"> 
                        <include name="TEST-*.xml" /> 
                    </fileset> 
                    <report format="frames" todir="${report folder}" /> 
                </junitreport> 
            </target> 
    </project> 

    Target junit report 是 Ant 構(gòu)建腳本中的核心內(nèi)容,其它 target 都是為它的執(zhí)行提供前期服務(wù)。Task junit 會尋找輸出目錄下所有命名以“Test”開頭的 class 文件,并執(zhí)行它們。緊接著 Task junitreport 會將執(zhí)行結(jié)果生成 HTML 格式的測試報告(圖8)放置在“report folder”下。

    為整個項目的單元測試類確定一種命名風(fēng)格。不僅是出于區(qū)分類別的考慮,這為 Ant 批量執(zhí)行單元測試也非常有幫助,比如前面例子中的測試類都已“Test”打頭,而測試套件則以“Suite”結(jié)尾等等。

圖8 junitreport 生成的測試報告

   現(xiàn)在執(zhí)行一次全面的單元測試變得非常簡單了,只需要運行一下 Ant 構(gòu)建腳本,可以走完所有流程,并能得到一份詳盡的測試報告。您可以在 Ant 在線手冊 中獲得上面提及的每一個 Ant 內(nèi)置 task 的使用細(xì)節(jié)。

   總結(jié)

    隨著越來越多的開發(fā)人員開始認(rèn)同并接受極限編程(XP)的思想,單元測試的作用在軟件工程中變得越來越重要。本文旨在將新的單元測試工具 JUnit 4 介紹給您,以及如何結(jié)合 IDE Eclipse 和構(gòu)建工具 Ant 創(chuàng)建自動化單元測試方案。并且還期望您能夠通過本文“感染”一些好的單元測試意識,因為 JUnit 本身僅僅是一份工具而已,它的真正優(yōu)勢來自于它的思想和技術(shù)。

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