您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
JUnit是什么?
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/26 14:58:16 ] 推薦標(biāo)簽:

JUnit是一個(gè)開發(fā)源代碼的Java測(cè)試框架,用于編寫和運(yùn)行可重復(fù)的測(cè)試。他是用于單元測(cè)試框架體系xUnit的一個(gè)實(shí)例(用于java語(yǔ)言)。它包括以下特性:
1、用于測(cè)試期望結(jié)果的斷言(Assertion)
2、用于共享共同測(cè)試數(shù)據(jù)的測(cè)試工具
3、用于方便的組織和運(yùn)行測(cè)試的測(cè)試套件
4、圖形和文本的測(cè)試運(yùn)行器

JUnit初是由Erich Gamma(GoF之一)和Kent Beck(xp和refactor的先驅(qū)之一)編寫的.

需要說明的是junit一般是用來(lái)進(jìn)行單元測(cè)試的,因此需要了解被測(cè)試代碼的內(nèi)部結(jié)構(gòu)(即所謂的白盒測(cè)試),另外junit是在xp編程和重構(gòu)(refactor)中被極力推薦使用的工具,因?yàn)樵趯?shí)現(xiàn)自動(dòng)單元測(cè)試的情況下可以大大的提高開發(fā)的效率,但是實(shí)際上編寫測(cè)試代碼也是需要耗費(fèi)很多的時(shí)間和精力的,那么使用這個(gè)東東好處到底在哪里呢?筆者認(rèn)為是這樣的:
1、對(duì)于xp編程而言,要求在編寫代碼之前先寫測(cè)試,這樣可以強(qiáng)制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯,否則編寫的代碼很不穩(wěn)定,那么你需要同時(shí)維護(hù)測(cè)試代碼和實(shí)際代碼,這個(gè)工作量會(huì)大大增加。因此在xp編程中,基本過程是這樣的:構(gòu)思-》編寫測(cè)試代碼-》編寫代碼-》測(cè)試,而且編寫測(cè)試和編寫代碼都是增量式的,寫一點(diǎn)測(cè)一點(diǎn),在編寫以后的代碼中如果發(fā)現(xiàn)問題可以較塊的追蹤到問題的原因,減小回歸錯(cuò)誤的糾錯(cuò)難度
2、對(duì)于重構(gòu)而言,其好處和xp編程中是類似的,因?yàn)橹貥?gòu)也是要求改一點(diǎn)測(cè)一點(diǎn),減少回歸錯(cuò)誤造成的時(shí)間消耗。
3、對(duì)于非以上兩種情況,我們?cè)陂_發(fā)的時(shí)候使用junit寫一些適當(dāng)?shù)臏y(cè)試也是有必要的,因?yàn)橐话阄覀円彩切枰帉憸y(cè)試的代碼的,可能原來(lái)不是使用的junit,如果使用junit,而且針對(duì)接口(方法)編寫測(cè)試代碼會(huì)減少以后的維護(hù)工作,例如以后對(duì)方法內(nèi)部的修改(這個(gè)是相當(dāng)于重構(gòu)的工作了)。另外是因?yàn)閖unit有斷言功能,如果測(cè)試結(jié)果不通過會(huì)告訴我們那個(gè)測(cè)試不通過,為什么,而如果是想以前的一般做法是寫一些測(cè)試代碼看其輸出結(jié)果,然后再由自己來(lái)判斷結(jié)果使用正確,使用junit的好處是這個(gè)結(jié)果是否正確的判斷是它來(lái)完成的,我們只需要看看它告訴我們結(jié)果是否正確可以了,在一般情況下會(huì)大大提高效率。

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