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

    剩下的工作是要編寫(xiě) Ant 構(gòu)建腳本 build.xml。雖然這個(gè)過(guò)程稍嫌繁瑣,但這是一件一勞永逸的事情。現(xiàn)在我們把前面編寫(xiě)的測(cè)試用例都放置到 Ant 構(gòu)建腳本中執(zhí)行,為項(xiàng)目 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 會(huì)尋找輸出目錄下所有命名以“Test”開(kāi)頭的 class 文件,并執(zhí)行它們。緊接著 Task junitreport 會(huì)將執(zhí)行結(jié)果生成 HTML 格式的測(cè)試報(bào)告(圖8)放置在“report folder”下。

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

圖8 junitreport 生成的測(cè)試報(bào)告

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

   總結(jié)

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

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