您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
使用clover為junit單元測(cè)試做覆蓋率分析
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/10/15 10:40:03 ] 推薦標(biāo)簽:

    二、編寫ant文件自動(dòng)運(yùn)行java單元測(cè)試

    三、修改build.xml文件添加clover任務(wù)

    現(xiàn)在我們開始修改build.xml文件,添加clover任務(wù),以實(shí)現(xiàn)junit測(cè)試覆蓋率的分析。首先,我們添加clover任務(wù)的配置任務(wù);在build.xml文件里添加如下代碼:

    這兩行定義了能夠在ant文件里使用clover任務(wù)的配置工作。然后再添加一個(gè)clover任務(wù),用來啟動(dòng)clover構(gòu)建任務(wù):

    這里的initString定義了clover覆蓋數(shù)據(jù)庫的信息,它會(huì)在執(zhí)行clover任務(wù)時(shí)自動(dòng)創(chuàng)建,里邊保存了源路徑執(zhí)行測(cè)試任務(wù)時(shí)候的全部信息,clover通過這個(gè)demo_coverage.db來創(chuàng)建覆蓋率分析報(bào)告。如果這個(gè)demo_coverage.db存在,clover在每次運(yùn)行時(shí)自動(dòng)覆蓋,如果不存在,clover自動(dòng)創(chuàng)建它。

   我們這里使用clover,是為了搜集junit測(cè)試時(shí)候的覆蓋率信息,所以呢,junit測(cè)試過程中,我們需要使用clover.jar包,所以我們還需要把clover.jar文件作為junit運(yùn)行的依賴庫,因此修改build.classpath代碼成如下所示:

    這里順便我們也把path的值說明一下,省得有人不懂哦!這里的ant.home是在計(jì)算機(jī)里創(chuàng)建的環(huán)境變量ANT_HOME,它的值應(yīng)該是你的ant的安裝路徑,例如c:ant,所以前兩行代碼的意思,是把c:antlibclover.jar和c:antlibjunit.jar作為依賴庫。當(dāng)然,事先你一定要拷貝這兩個(gè)jar文件到你的lib目錄。

    好了,我們現(xiàn)在開始重新使用clover任務(wù)來運(yùn)行junit測(cè)試!

    C:cloversincky>ant clean

    Buildfile: build.xml

    clean:

    [delete] Deleting directory C:cloversinckybuild

    BUILD SUCCESSFUL

    Total time: 0 seconds

    C:cloversincky>ant clover compile

    Buildfile: build.xml

    clover:

    [clover-setup] Clover Version 1.3.8, built on May 18 2005

    [clover-setup] loaded from: C:cloverlibclover.jar

    [clover-setup] 30 day Evaluation License registered to sinckyzhang@163.com

    [clover-setup] You have 10 day(s) before your Evaluation License expires.

    [clover-setup] Clover is enabled with initstring 'C:cloversinckydemo_coverage.db'

    compile:

    [mkdir] Created dir: C:cloversinckybuild

    [javac] Compiling 4 source files to C:cloversinckybuild

    [clover] Clover Version 1.3.8, built on May 18 2005

    [clover] loaded from: C:cloverlibclover.jar

    [clover] 30 day Evaluation License registered to sinckyzhang@163.com

    [clover] You have 10 day(s) before your Evaluation License expires.

    [clover] No coverage database 'C:cloversinckydemo_coverage.db' fou

    nd. Creating a fresh one.

    [clover] Clover all over. Instrumented 4 files.

    BUILD SUCCESSFUL

    Total time: 2 seconds

    我們會(huì)發(fā)現(xiàn)在sincky目錄下多了一個(gè)demo_coverage.db文件;之后我們?cè)賵?zhí)行測(cè)試任務(wù):

    C:cloversincky>ant test

    Buildfile: build.xml

    test:

    [java] ......................

    [java] Time: 0

    [java] OK (22 tests)

    BUILD SUCCESSFUL

    Total time: 0 seconds

    我們會(huì)看到又多了一個(gè)關(guān)于junit測(cè)試的.db文件!現(xiàn)在,我們已經(jīng)使用clover統(tǒng)計(jì)完了覆蓋率信息,之后創(chuàng)建clover報(bào)告,以直觀方式來查看具體的覆蓋率結(jié)果!這個(gè)任務(wù)需要在build.xml里創(chuàng)建任務(wù)。Clover的報(bào)告有多種方式:html、pdf、xml以及swingview的圖形化報(bào)告,當(dāng)然與eclipse等java的IDE集成,也會(huì)在IDE里創(chuàng)建報(bào)告;這里我們只演示html類型的報(bào)告!我們修改build.xml文件,添加如下任務(wù):

    這里的元素指產(chǎn)生的報(bào)告類型是當(dāng)前的測(cè)試報(bào)告,還有歷史報(bào)告,我們?cè)诤筮呏v解!這個(gè)報(bào)告是html格式,創(chuàng)建后的報(bào)告放在一個(gè)叫做clover_html的文件夾里,報(bào)告標(biāo)題叫做Clover demo。

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