亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
用clover為java代碼的junit測試做覆蓋率分析
作者:網絡轉載 發布時間:[ 2012/12/20 15:26:57 ] 推薦標簽:

本人近在研究java單元測試技術,有點心得,這里分享給測試同行朋友!那么,我們研究的主題是使用cenqua公司的clover框架來分析java程序的單元測試覆蓋率!關于clover的更多信息呢,請大家去http://www.cenqua.com/clover去查詢。我們這里,將會通過一個實例來演示如何使用junit和clover一起,來分析java代碼的覆蓋率。我們將會使用ant來編譯一個junit單元測試實例項目,然后修改build.xml文件,加上clover的覆蓋率分析任務target;而且我們還要通過三部分來學習clover超級的地方:current報告、歷史報告以及高級特征!

那么開始呢,我們要做的是從http://www.cenqua.com/clover下載clover程序包clover.jar(它是clover的主要包)、clover.license(clover的試用license,需要到官方網站下載一個月的試用注冊文件,否則不能使用clover!)、velocity.jar(用來創建html報告的擴展包),將它們拷貝到ant(ant你已經安裝好了,并且設置了junit.jar以及ANT_HOME之類的初始化工作;我們這里不講ant的基本使用,它都流行這么多年了,這里假設你都懂啦!)的lib目錄下,這樣下來,我們在ant的build.xml文件里才可以使用clover任務!

當然,現在很多朋友不喜歡配置一些環境變量,想把這些jar文件放在任意的地方,例如直接放在項目文件里,那么可以通過在build.xml文件里指定這些擴展包的位置也是可以的;如果在build文件里加入擴展包的路徑,需要在build文件里這樣寫:

1) 我們把下載來的clover.jar和cenquatasks.jar拷貝到你的項目目錄的lib路徑下

2) 在build.xml下添加如下代碼:

<taskdef resource="com/cenqua/ant/antlib.xml" classpath="lib/cenquatasks.jar"/> 

<extendclasspath path="lib/clover.jar"/> 

<taskdef resource="clovertasks" classpath="lib/clover.jar"/> 

之后你可以在ant任務里構建clover的任務啦!

其實簡單的辦法呢,是把clover.jar、clover.license、velocity.jar、cenquatasks.jar、junit.jar這些包都拷貝到ant的lib目錄里,省得麻煩,不然將來你加入什么新功能,會提示你找不到相應的包,你還得去網上搜,特不爽!

我們的學習過程是:

1) 先使用junit創建完java代碼的測試代碼,之后編譯運行,完成junit對java代碼的單元測試;

2) 之后,我們在ant里構建測試任務,自動完成企業集的單元測試工作

3) 然后,我們修改build文件,加入clover任務,來完整對單元測試過程的覆蓋率分析工作

4) 之后開始重構代碼,提高代碼的單元測試覆蓋率

一、 構建java源代碼與junit單元測試代碼

先在你的電腦里的某個比較順眼的盤下建立一個目錄,例如叫sincky,這個是我們的學習項目目錄,再在sincky里創建一個src文件夾,用來放置所有的代碼;之后在src里新建一個java類的源文件,名字叫做IMoney.java,代碼內容如下:

public interface IMoney {

/**

* Adds a money to this money.

*/

public abstract IMoney add(IMoney m);

/**

* Adds a simple Money to this money. This is a helper method for

* implementing double dispatch

*/

public abstract IMoney addMoney(Money m);

/**

* Adds a MoneyBag to this money. This is a helper method for

* implementing double dispatch

*/

public abstract IMoney addMoneyBag(MoneyBag s);

/**

* Tests whether this money is zero

*/

public abstract boolean isZero();

/**

* Multiplies a money by the given factor.

*/

public abstract IMoney multiply(int factor);

/**

* Negates this money.

*/

public abstract IMoney negate();

/**

* Subtracts a money from this money.

*/

public abstract IMoney subtract(IMoney m);

/**

* Append this to a MoneyBag m.

*/

public abstract void appendTo(MoneyBag m);

}

這里我們定義一個java接口,表示了“金錢”這個神奇東西的一些美妙的抽象方法!早年有首遲志強的歌叫《鈔票》:是誰制造的鈔票,你在世上逞霸道,有人為你愁眉苦臉啊有人為你哈哈笑;姑娘為你走錯了路,小伙子為你受改造!東奔又西跑,點頭又哈腰,鈔票!人人為你離不了錢哪!你這殺人不見血的刀…形象無比,不扯了,跑題啦!I am back!

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人影库 | 国产区1| 99视频在线免费看 | 免费高清在线观看a网站 | 亚洲欧美日韩精品永久在线 | 成人爱做日本视频免费 | 小明看片成人永久在线观看 | 亚洲国产一区二区三区青草影视 | 国产免费一区二区 | 一区二区三区免费高清视频 | 欧美专区在线 | 免费国产h视频在线观看 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 欧美成视频在线观看 | 天天操夜夜欢 | 午夜在线观看网站 | 免费99精品国产自在现线观看 | 国内精品久久久久久久久野战 | 久久网欧美 | 中文字幕一区日韩在线视频 | 成人欧美精品一区二区不卡 | 国产成人啪精品视频免费软件 | 中文字幕在线观看免费视频 | 免费成人黄色网址 | a级毛片免费完整视频 | 天天操一操 | 中文字幕日本在线视频二区 | 99视频在线国产 | 欧美一区二区视频高清转区 | 免费国产成人手机在线观看 | 日韩欧美在线第一页 | 日本三级带日本三级带黄首页 | 天天躁天天碰天天看 | free性亚洲 | 一本一道波多野结衣456 | 欧美八区 | 中文字幕第一页国产 | 日韩精品无码一区二区三区 | 国产成人刺激视频在线观看 | 欧美国产综合 | 中文字幕二区三区 |