myEclipse中如何使用Junit_第1頁(yè)
myEclipse中如何使用Junit_第2頁(yè)
myEclipse中如何使用Junit_第3頁(yè)
myEclipse中如何使用Junit_第4頁(yè)
myEclipse中如何使用Junit_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余4頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、myEclipse下使用Junit一、準(zhǔn)備工作:1 .導(dǎo)入 Junitjar 包;2 .在項(xiàng)目目錄下新建一個(gè) SourceFold(一般命名為 test);3 .新建一個(gè)測(cè)試類 (一般命名規(guī)則為: 被測(cè)試類名+Test,例如:HelloWordTest) 繼承 junit.framework.TestCase類;4 .編寫測(cè)試方法(方法名必須以 test+用例方法名稱);如下:T 好Jimit4.7目網(wǎng)src-com.junit.simplt-jjH&llolfford.j&vaEHillofferd&HellofferdOisOKGtringjbooleiri*siy

2、0:Striiig-testH出com.junit.-|3HellofferdTest.-HelloffcrdT-st6?main(String):vaid有有Hell(String)二、使用Junit進(jìn)行測(cè)試Junit 被用來(lái)測(cè)試代碼,并且它是由能夠測(cè)試不同條件的斷言方法(assertionmethod)組成,常用斷言方法如下:assertEquals(a,b)測(cè)試 a 是否等于 b(a 和 b 是原始類型數(shù)值(primitivevalue)或者必須為實(shí)現(xiàn)比較而具有 equal 方法)assertFalse(a)測(cè)試 a 是否為 false(假),a 是一個(gè) Boolean 數(shù)值。asser

3、tNotNull(a)測(cè)試 a 是否非空,a 是一個(gè)對(duì)象或者 null。assertNotSame(a,b)測(cè)試 a 和 b 是否沒(méi)有都引用同一個(gè)對(duì)象。assertNull(a)測(cè)試 a 是否為 null,a 是一個(gè)對(duì)象或者 null。assertSame(a,b)測(cè)試 a 和 b 是否都引用同一個(gè)對(duì)象。assertTrue(a)測(cè)試 a 是否為 true(真),a 是一個(gè) Boolean 數(shù)值。我們使用這些方法來(lái)構(gòu)建 JUnit 測(cè)試。當(dāng)運(yùn)行一個(gè) JUnit 應(yīng)用程序時(shí),它打開自己的視圖來(lái)立即指示哪個(gè)測(cè)試通過(guò)了,哪個(gè)測(cè)試失敗了。被測(cè)試類:packagecom.junit.simple;pub

4、licclassHelloUordpublicHelloV/ordOsuperbpublicStringsay()returnHelloWordfpublicbooleanisOK(Strings)IF(s.equals(OK)1elseIreturnfalse:E測(cè)試類:(view)importjumit.framework.TestCase;inpartjumit.textui.TestRunner;importcom.junit.simple.HelloWord;publicclassHelloWordTestextendsTestCasepublicHe11oUordTest(Stri

5、ngname)publicuoidtestisDk()HlelloUordhi=newHelloUord();assertFalse(hi-isOKCop,*);publicstaticvoidoain(Stringargs);擴(kuò)展 TestCas 讀;2;覆蓋 runTest()方法(可選);3;寫一些 testXXXXX(小法;三、Junit4的新特性1.導(dǎo)入 junit4 和 hamcrest-alljar 包;2.assertThat:基本語(yǔ)法:assertThat(value,matcherstatement);value 是接下來(lái)想要測(cè)試的變量值;matcherstatement

6、是使用 Hamcrest 匹配符來(lái)表達(dá)的對(duì)前面變量所期望的值的聲明,如果value 值與 matcherstatement 所表達(dá)的期望值相符,則測(cè)試成功,否則測(cè)試失敗。2、使用 hamcrest 的匹配方法2.1、一般匹配符allOf匹配符表明如果接下來(lái)的所有條件必須都成立測(cè)試才通過(guò),相當(dāng)于與”(&)1、Hamcrest 的斷言語(yǔ)法assertThatassertThat(testedNumber,allOf(greaterThan(8),lessThan(16);anyOf匹配符表明如果接下來(lái)的所有條件只要有一個(gè)成立則測(cè)試通過(guò),相當(dāng)于或(|)assertThat(testedNum

7、ber,anyOf(greaterThan(16),lessThan(8);anything匹配符表明無(wú)論什么條件,永遠(yuǎn)為 trueassertThat(testedNumber,anything();is匹配符表明如果前面待測(cè)的 object 等于后面給出的 object,則測(cè)試通過(guò)assertThat(testedString,is(developerWorks);not匹配符和 is 匹配符正好相反,表明如果前面待測(cè)的 object 不等于后面給出的 object,則測(cè)試通過(guò)assertThat(testedString,not(developerWorks);2.2、字符串相關(guān)匹配符c

8、ontainsString匹配符表明如果測(cè)試的字符串 testedString 包含子字符串developerWorks則測(cè)試通過(guò)assertThat(testedString,containsString(developerWorks);endsWith匹配符表明如果測(cè)試的字符串 testedString 以子字符串developerWorks結(jié)尾則測(cè)試通過(guò)assertThat(testedString,endsWith(developerWorks);startsWith匹配符表明如果測(cè)試的字符串 testedString 以子字符串developerWorks開始則測(cè)試通過(guò)assertT

9、hat(testedString,startsWith(developerWorks);equalTo匹配符表明如果測(cè)試的 testedValue 等于 expectedValue 則測(cè)試通過(guò),equalT。可以測(cè)試數(shù)值之間,字符串之間和對(duì)象之間是否相等,相當(dāng)于 Object 的 equals 方法assertThat(testedValue,equalTo(expectedValue);equalToIgnoringCase匹配符表明如果測(cè)試的字符串 testedString 在忽略大小寫的情況下等于developerWorks則測(cè)試通過(guò)assertThat(testedString,equ

10、alToIgnoringCase(developerWorks);equalToIgnoringWhiteSpace匹配符表明如果測(cè)試的字符串 testedString 在忽略頭尾的任意個(gè)空格的情況下等于developerWorks則測(cè)試通過(guò),注意:字符串中的空格不能被忽略assertThat(testedString,equalToIgnoringWhiteSpace(developerWorks);2.3、數(shù)值相關(guān)匹配符closeTo匹配符表明如果所測(cè)試的浮點(diǎn)型數(shù) testedDouble 在 20.0眥圍之內(nèi)則測(cè)試通過(guò)assertThat(testedDouble,closeTo(20.

11、0,0.5);greaterThan匹配符表明如果所測(cè)試的數(shù)值 testedNumber 大于 16.0 則測(cè)試通過(guò)assertThat(testedNumber,greaterThan(16.0);lessThan匹配符表明如果所測(cè)試的數(shù)值 testedNumber 小于 16.0 則測(cè)試通過(guò)assertThat(testedNumber,lessThan(16.0);greaterThanOrEqualTo匹配符表明如果所測(cè)試的數(shù)值 testedNumber 大于等于 16.0 則測(cè)試通過(guò)assertThat(testedNumber,greaterThanOrEqualTo(16.0);

12、lessThanOrEqualTo匹配符表明如果所測(cè)試的數(shù)值 testedNumber 小于等于 16.0 則測(cè)試通過(guò)assertThat(testedNumber,lessThanOrEqualTo(16.0);2.4、collection 相關(guān)匹配符hasEntry匹配符表明如果測(cè)試的 Map 對(duì)象 mapObject 含有一個(gè)鍵值為key對(duì)應(yīng)元素值為value的 Entry項(xiàng)則測(cè)試通過(guò)assertThat(mapObject,hasEntry(key,value);hasItem匹配符表明如果測(cè)試的迭代對(duì)象 iterableObject 含有元素“elemen 頤則測(cè)試通過(guò)assertT

13、hat(iterableObject,hasItem(element);hasKey匹配符表明如果測(cè)試的 Map 對(duì)象 mapObject 含有鍵值“ke 則測(cè)試通過(guò)assertThat(mapObject,hasKey(key);hasValue匹配符表明如果測(cè)試的 Map 對(duì)象 mapObject 含有元素值“valuer 測(cè)試通過(guò)assertThat(mapObject,hasValue(key);2.5、Matcher 匹配符聯(lián)合使用not 和 equalTo表示不等于assertThat(something,not(equalTo(developer);not 和 containsS

14、tring表示不包含子字符串”assertThat(something,not(containsString(Works);anyOf 和 containsString表示包含任何一個(gè)子字符串”assertThat(something,anyOf(containsString(developer),containsString(Works);3 、JUnit4 注解Test:測(cè)試方法Ignore:被忽略的測(cè)試方法Before:每一個(gè)測(cè)試方法之前運(yùn)行After:每一個(gè)測(cè)試方法之后運(yùn)行BeforeClass:所有測(cè)試開始之前運(yùn)行AfterClass:所有測(cè)試結(jié)束之后運(yùn)行四、附錄Junit4注解式測(cè)

15、試方法示例(測(cè)試類不用繼承TestCase被測(cè)試類:packagecow.juni,simple;EM和.:亂叩誓艇郛:.:?-:5s:.:%s-:2s:i-:M-:.Js.:a-:-i.:i:.s.:?-:-:$;:?:.:publicclassHellopu) )cintadd(intreturnx+y;y)pubXicintdivide(intx.iiity)returnx/y;publicstaticvoidmain(Stringargs)intz=nevrHello().add(3fS):Systemout.println(z);測(cè)試類:packacjecom.junit4.test

16、;importstaticerg,junitAssert.*;importstaticarg.hamcrest.Matchers*unportorq.junit.After;zLmortorg-junit.Before;InortorgijunitiBeforeCLass;importorg,junit,AfterClass;importorgijunitiTest;importcoinijunit4.simpleHeLLa;publicclassHelioTest(QBeforeCLasspublicstaticvoidbeforeClass()Systenicut.pirintLn(,Fbeoi:eClass,r);)AtterClasspublicstatic?voidaftsrClass()(Systen*.out.printin(TrsterClassr,):)Beforepublicvoidtoeiore()System-out.printin(*befQi:e*r);)TestpublicvoidtestAdd()inta=newHe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論