myEclipse中如何使用Junit_第1頁
myEclipse中如何使用Junit_第2頁
myEclipse中如何使用Junit_第3頁
myEclipse中如何使用Junit_第4頁
myEclipse中如何使用Junit_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、myEclipse下使用Junit一、準備工作:1.導(dǎo)入Junit jar包;2.在工程目錄下新建一個Source Fold一般命名為test;3.新建一個測試類一般命名規(guī)那么為:被測試類名+Test,例如:HelloWordTest繼承junit.framework.TestCase類;4.編寫測試方法方法名必須以test+用例方法名稱;如下:JL-/ Jiani t4. 7目咨src- com. juni t. simplt- jj H&llolffor d. j&gE Hill offerd3 Hell offer dOQ isOKGtr ingj booleiri。sw

2、O : Str iiig-testH由com. juni t.- E Hell offer dTest.-Hell off crdT-st6? main Str ing : va i d由HellString二、使用 Junit 進行測試Junit被用來測試代碼,并且它是由能夠測試不同條件的斷言方法(assertion method )組成,常用 斷言方法如下:assertEquals(a, b)測試a是否等于b (a和b是原始類型數(shù)值(primitive value)或者必須為實現(xiàn)比擬而具有equal方法)assertFalse(a)測試a是否為false(假),a是一個Boolean數(shù)值。

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

4、it.simple;publicpublic classclass HelloUordHelloUord?publicpublic HelloV/ordOHelloV/ordOsuperbsuperbpublicpublic StringString say()say()returnreturn HelloWordfHelloWordfpublicpublic booleanboolean isOK(StringisOK(String s)s) IF(s.equals(OK)IF(s.equals(OK)測試類:importimport jumit.framework.TestCase;jum

5、it.framework.TestCase;inpartinpart jumit.textui.TestRunner;jumit.textui.TestRunner;importimport com.junit.simple.HelloWord;com.junit.simple.HelloWord;publicpublic classclass HelloWordTestHelloWordTest extendsextends TestCaseTestCase publicpublic HeHe11oUordTest(String11oUordTest(Stringname)name) pub

6、licpublic voidvoid testlsOkOtestlsOkO HlelloUordHlelloUord hi=newhi=new HelloUordHelloUord ()(); assertFalsetiii-isOKCop,);assertFalsetiii-isOKCop,);publicpublic staticstatic voidvoid oain(Stringoain(String args)args) ;擴展TestCas類;2;覆蓋runTest()方法(可選);3;寫一些testXXXXX(應(yīng)法;三、Junit4 的新特性1、Hamcrest的斷言語法-ass

7、ertThat1.導(dǎo)入junit 4和hamcrest-all jar包;2. assertThat:根本語法:assertThat( value, matcher statement);value是接下來想要測試的變量值;matcher statement是使用Hamcrest匹配符來表達的對前面變量所期望的值的聲明,如果value值與matcher statement所表達的期望值相符,那么測試成功,否那么測試失敗。2、使用hamcrest的匹配方法2.1、一般匹配符allOfallOf匹配符說明如果接下來的所有條件必須都成立測試才通過,相當(dāng)于 與(&)assertThat( te

8、stedNumber, allOf( greaterThan(8), lessThan(16);anyOfanyOf匹配符說明如果接下來的所有條件只要有一個成立那么測試通過,相當(dāng)于成(| )assertThat( testedNumber, anyOf( greaterThan(16), lessThan(8) ) );anythinganything匹配符說明無論什么條件,永遠為trueassertThat( testedNumber, anything() );isis匹配符說明如果前面待測的object等于后面給出的object,那么測試通過assertThat( testedStrin

9、g, is( developerWorks ) );notnot匹配符和is匹配符正好相反,說明如果前面待測的object不等于后面給出的object,那么測試通過assertThat( testedString, not( developerWorks ) );2.2、字符串相關(guān)匹配符containsStringcontainsString匹配符說明如果測試的字符串testedString包含子字符串developerWorks那么測試通過assertThat( testedString, containsString( developerWorks ) );endsWithendsWith

10、匹配符說明如果測試的字符串testedString以子字符串developerWorks結(jié)尾那么測試通過assertThat( testedString, endsWith( developerWorks ) );startsWithstartsWith匹配符說明如果測試的字符串testedString以子字符串developerWorks開始那么測試通過assertThat( testedString, startsWith( developerWorks ) );equalToequalTo匹配符說明如果測試的testedValue等于expectedValue那么測試通過,equalTo

11、可以測試數(shù)值之間,字符串之間和對象之間是否相等,相當(dāng)于Object的equals方法assertThat( testedValue, equalTo( expectedValue );equalToIgnoringCaseequalToIgnoringCase匹配符說明如果測試的字符串testedString在忽略大小寫的情況下等于developerWorks那么測試通過assertThat( testedString, equalToIgnoringCase( developerWorks);equalToIgnoringWhiteSpaceequalToIgnoringWhiteSpace

12、匹配符說明如果測試的字符串testedString在忽略頭尾的任意個空格的情況下等于developerWorks那么測試通過,注意:字符串中的空格不能被忽略assertThat( testedString, equalToIgnoringWhiteSpace( developerWorks);2.3、數(shù)值相關(guān)匹配符closeTocloseTo匹配符說明如果所測試的浮點型數(shù)testedDouble在20.0土0.5圍之內(nèi)那么測試通過assertThat( testedDouble, closeTo( 20.0, 0.5 );greaterThangreaterThan匹配符說明如果所測試的數(shù)值t

13、estedNumber大于16.0那么測試通過assertThat( testedNumber, greaterThan(16.0);lessThanlessThan匹配符說明如果所測試的數(shù)值testedNumber小于16.0那么測試通過assertThat( testedNumber, lessThan (16.0) );greaterThanOrEqualTogreaterThanOrEqualTo匹配符說明如果所測試的數(shù)值testedNumber大于等于16.0那么測試通過assertThat( testedNumber, greaterThanOrEqualTo (16.0);les

14、sThanOrEqualTolessThanOrEqualTo匹配符說明如果所測試的數(shù)值testedNumber小于等于16.0那么測試通過assertThat( testedNumber, lessThanOrEqualTo (16.0) );2.4、collection相關(guān)匹配符hasEntryhasEntry匹配符說明如果測試的Map對象mapObject含有一個鍵值為key對應(yīng)元素值為value的Entry項那么測試通過assertThat( mapObject, hasEntry( key, value);hasItemhasItem匹配符說明如果測試的迭代對象iterableObj

15、ect含有元素element那么測試通過assertThat( iterableObject,hasItem ( element);hasKeyhasKey匹配符說明如果測試的Map對象mapObject含有鍵值ke那么測試通過assertThat( mapObject, hasKey ( key);hasValuehasValue匹配符說明如果測試的Map對象mapObject含有元素值valued測試通過assertThat( mapObject, hasValue ( key ) );2.5、Matcher匹配符聯(lián)合使用notnot和equalToequalTo表示不等于assertTh

16、at( something, not( equalTo( developer ) ) );notnot和containsStringcontainsString表示不包含子字符串a(chǎn)ssertThat( something, not( containsString( Works);anyOfanyOf和containsStringcontainsString表示包含任何一個子字符串a(chǎn)ssertThat(something, anyOf(containsString(developer), containsString(Works);3、JUnit4注解Test:測試方法Ignore:被忽略的測試

17、方法Before:每一個測試方法之前運行After:每一個測試方法之后運行BeforeClass:所有測試開始之前運行AfterClass:所有測試結(jié)束之后運行四、附錄Junit4 注解式測試方法例如測試類不用繼承 TestCasR被測試類:package cow. j uni.simp le;publicclassHello puhlio int return divide (int x, lilt y) x/y;public static void main(String args) uit z = nevr He llo () . add (3f5); Systemout.println

18、(z);測試類:packacje com. junit4 . test;impott static erg,junit Assert.*;import static arg. hamcrest. Matchers * unport orq.junit.After;zLmort org- junit. Before;Inort org* junit * BeforeC Lass;import org,junit,AfterClass;import org* junit * Test;import coin* junit4 .simple HeLLa;public class HelioTest (QBeforeC

溫馨提示

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

最新文檔

評論

0/150

提交評論