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

    報告左邊是包名,以及包下邊的類;右邊是主窗口,顯示當前這個Money類的測試覆蓋率,我們可以通過行號來查看到15、16、17行執(zhí)行了156次,下邊還會有兩行一次也沒有執(zhí)行過,所以造成這個類整體的測試覆蓋率不是100%。

    四、重構測試代碼實現(xiàn)百分百測試覆蓋率

    我們總是希望做單元測試的時候,讓代碼的測試覆蓋率盡可能的達到100%,所以我們需要重構測試代碼。從分析得知,第40行雖然執(zhí)行了27次,但是從來沒有測試if的判斷條件為true的情況,所以我們要添加測試用例,測試isZero()返回為true的情況!因此,我們修改測試代碼MoneyTest.java文件,在前邊初始化地方加上一個Money實例,如下:

    public class MoneyTest extends TestCase {

    private Money f12CHF;

    private Money f14CHF;

    private Money f7USD;

    private Money f21USD;

    private Money f0USD;

    在setup方法里添加:

    protected void setUp() {

    f12CHF= new Money(12, "CHF");

    f14CHF= new Money(14, "CHF");

    f7USD= new Money( 7, "USD");

    f21USD= new Money(21, "USD");

    f0USD = new Money(0, "USD"); //sincky

    在后加上一個測試用例:

    public void testMoneyEqualsZero() {

    assertTrue(!f0USD.equals(null));

    IMoney equalMoney = new Money(0, "CHF");

    assertTrue(f0USD.equals(equalMoney));

    }

    之后,我們重新編譯,測試,創(chuàng)建報告,即執(zhí)行下列命令:

    >ant clean

    >ant clover compile

    >ant test

    >ant report

    這時候再打開新的html報告,看到如下效果覆蓋率已經(jīng)到達100%:

    完畢,如果能進展到這一步,相信你已經(jīng)對使用junit、ant、clover做java的單元測試,已經(jīng)到了一個新的飛越!如果有興趣,你還可以把junit報告和clover報告一并輸出,以更好的為企業(yè)開發(fā)中使用這種工作模式!

    文章源碼均來自clover網(wǎng)站,本人稍做修改。

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