資源描述:
《使用JUNIT4進(jìn)行單元測(cè)試》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、本文檔系作者精心整理編輯,實(shí)用價(jià)值高。使用JUNIT4進(jìn)行單元測(cè)試JUnit4概述2在Eclipse中使用JUnit4進(jìn)行單元測(cè)試(初級(jí)篇)5在Eclipse中使用JUnit4進(jìn)行單元測(cè)試(中級(jí)篇)15在Eclipse中使用JUnit4進(jìn)行單元測(cè)試(高級(jí)篇)18本文檔系作者精心整理編輯,如有需要,可查看作者文庫其他文檔。本文檔系作者精心整理編輯,實(shí)用價(jià)值高。JUnit4概述JUnit4是JUnit框架有史以來的最大改進(jìn),其主要目標(biāo)便是利用Java5的Annotation特性簡化測(cè)試用例的編寫。先簡單解釋
2、一下什么是Annotation,這個(gè)單詞一般是翻譯成元數(shù)據(jù)。元數(shù)據(jù)是什么?元數(shù)據(jù)就是描述數(shù)據(jù)的數(shù)據(jù)。也就是說,這個(gè)東西在Java里面可以用來和public、static等關(guān)鍵字一樣來修飾類名、方法名、變量名。修飾的作用描述這個(gè)數(shù)據(jù)是做什么用的,差不多和public描述這個(gè)數(shù)據(jù)是公有的一樣。想具體了解可以看CoreJava2。廢話不多說了,直接進(jìn)入正題。我們先看一下在JUnit3中我們是怎樣寫一個(gè)單元測(cè)試的。比如下面一個(gè)類:publicclassAddOperation{publicintadd(intx
3、,inty){returnx+y;}}我們要測(cè)試add這個(gè)方法,我們寫單元測(cè)試得這么寫:importjunit.framework.TestCase;importstaticorg.junit.Assert.*;publicclassAddOperationTestextendsTestCase{publicvoidsetUp()throwsException{}publicvoidtearDown()throwsException{}publicvoidtestAdd(){System.out.pri
4、ntln("add");intx=0;inty=0;AddOperationinstance=newAddOperation();intexpResult=0;intresult=instance.add(x,y);assertEquals(expResult,result);}}本文檔系作者精心整理編輯,如有需要,可查看作者文庫其他文檔。本文檔系作者精心整理編輯,實(shí)用價(jià)值高。可以看到上面的類使用了JDK5中的靜態(tài)導(dǎo)入,這個(gè)相對(duì)來說就很簡單,只要在import關(guān)鍵字后面加上static關(guān)鍵字,就可以
5、把后面的類的static的變量和方法導(dǎo)入到這個(gè)類中,調(diào)用的時(shí)候和調(diào)用自己的方法沒有任何區(qū)別。我們可以看到上面那個(gè)單元測(cè)試有一些比較霸道的地方,表現(xiàn)在:1.單元測(cè)試類必須繼承自TestCase。2.要測(cè)試的方法必須以test開頭。如果上面那個(gè)單元測(cè)試在JUnit4中寫就不會(huì)這么復(fù)雜。代碼如下:importjunit.framework.TestCase;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;importstati
6、corg.junit.Assert.*;/****@authorbean*/publicclassAddOperationTestextendsTestCase{publicAddOperationTest(){}@BeforepublicvoidsetUp()throwsException{}@AfterpublicvoidtearDown()throwsException{}@Testpublicvoidadd(){System.out.println("add");intx=0;inty=0;
7、AddOperationinstance=newAddOperation();intexpResult=0;intresult=instance.add(x,y);assertEquals(expResult,result);}本文檔系作者精心整理編輯,如有需要,可查看作者文庫其他文檔。本文檔系作者精心整理編輯,實(shí)用價(jià)值高。}我們可以看到,采用Annotation的JUnit已經(jīng)不會(huì)霸道的要求你必須繼承自TestCase了,而且測(cè)試方法也不必以test開頭了,只要以@Test元數(shù)據(jù)來描述即可。從上面的例
8、子可以看到在JUnit4中還引入了一些其他的元數(shù)據(jù),下面一一介紹:@Before:使用了該元數(shù)據(jù)的方法在每個(gè)測(cè)試方法執(zhí)行之前都要執(zhí)行一次。@After:使用了該元數(shù)據(jù)的方法在每個(gè)測(cè)試方法執(zhí)行之后要執(zhí)行一次。注意:@Before和@After標(biāo)示的方法只能各有一個(gè)。這個(gè)相當(dāng)于取代了JUnit以前版本中的setUp和tearDown方法,當(dāng)然你還可以繼續(xù)叫這個(gè)名字,不過JUnit不會(huì)霸道的要求你這么做了。@Test(expected=*.cla