您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit中巧妙運(yùn)用Metedata
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/6 15:10:10 ] 推薦標(biāo)簽:

  JUnit4至今還是神神秘秘,不知道終是個(gè)什么樣子。但是已經(jīng)有文章在對其進(jìn)行介紹。先不管文章里描述的是否是JUnit4后的面貌,我們可以從中看出JUnit4借助Tiger的新特性進(jìn)行了不小的改進(jìn),尤其是元數(shù)據(jù)(Metadata)的應(yīng)用。
  
  在文章透露出的所有信息里面,幾乎所有的改進(jìn)都和元數(shù)據(jù)有關(guān)。以前一切依靠命名規(guī)范來約束的方法,現(xiàn)在都改為通過不同類型的元數(shù)據(jù)來加以區(qū)別。當(dāng)然這倒沒有什么大不了的,通過元數(shù)據(jù)注釋(Metadata Annotations)也許會顯得代碼看起來更加醒目一些。
  
  文章中稱JUnit4正式的引入了類級別的setUp和tearDown,使得在多個(gè)測試方法運(yùn)行前可以統(tǒng)一初始化,并在這些測試方法運(yùn)行結(jié)束后統(tǒng)一回收。我曾經(jīng)在我以前的JUnit源碼分析中提到過這個(gè)問題,但是當(dāng)時(shí)我沒有理解JUnit為什么沒有提供類級別的支持:為了保持每個(gè)測試用例的完全獨(dú)立性。不過有些時(shí)候提供類級別的setUp、tearDown還是有必要的,前提是使用得當(dāng)。
  
  說了這么多,忘了一點(diǎn),類級別setUp和tearDown的聲明也是使用元數(shù)據(jù)加以標(biāo)示的。
  
  JUnit4對元數(shù)據(jù)的成功應(yīng)用還在于對期望異常測試的簡化。如果在3.8.1中,編寫一個(gè)測試用例,以測試代碼是否能按你期望的那樣拋一個(gè)業(yè)務(wù)異常出來。你需要先try后catch,并且還要在沒有達(dá)到預(yù)期結(jié)果時(shí)手動(dòng)fail。的確不是很方便,這一點(diǎn)我有體會。到了JUnit4中,通過帶有excepted參數(shù)的test標(biāo)記,你可以很輕松的做到與3.8.1中完全一樣的效果,它不僅僅是的代碼變得清晰好看,而且還為我們節(jié)省了不少寶貴的時(shí)間。
  
  此外,還有一些地方應(yīng)用元數(shù)據(jù)來提供更多的功能,而且有些地方還使用到了Tiger中的其它特性。距此篇文章發(fā)表已有近兩個(gè)月的時(shí)間了,JUnit4仍然沒有動(dòng)靜,這預(yù)示著什么,大家拭目以待!

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