版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1TestNGTestNG官方文檔中文版官方文檔中文版(1)(1)介紹介紹最近決定開始使用TestNG來替代junit,作為未來的單元測試基礎(chǔ)組件。google了一下沒有找到好的詳細(xì)的文檔,最后發(fā)現(xiàn)官網(wǎng)上的文檔其實(shí)挺全的,決定翻譯一下。TestNG的官方文檔請見::testng.gdocdocumentationmain.html1.介紹TestNG是一個(gè)設(shè)計(jì)用來簡化廣泛的測試需求的測試框架,從單元測試(隔離測試一個(gè)類)到集成測試(測試
2、由有多個(gè)類多個(gè)包甚至多個(gè)外部框架組成的整個(gè)系統(tǒng),例如運(yùn)用服務(wù)器)。編寫一個(gè)測試的過程有三個(gè)典型步驟:編寫測試的業(yè)務(wù)邏輯并在代碼中插入TestNGannotation將測試信息添加到testng.xml文件或者build.xml中運(yùn)行TestNG在歡迎頁面上可以找到快速入門示例。下面是這篇文檔使用的概念:suite由xml文件描述。它包含一個(gè)或多個(gè)測試并被定義為標(biāo)簽test由描述并包含一個(gè)或者多個(gè)TestNG類TestNG類是包含至少一個(gè)
3、TestNGannotation的java類,由標(biāo)簽描述并包含一個(gè)或多個(gè)測試方法測試方法是源文件中帶有@Testd注釋的java方法TestNG測試可以被@BefeXXX和@AfterXXXannotations配置,容許在特定點(diǎn)的前后執(zhí)行一些java邏輯,這些點(diǎn)上面已經(jīng)列出。這份手冊的剩余部分將講述以下內(nèi)容:所有的annotation列表并帶有簡短說明,為TestNG的多種功能性提供參考你可能需要參考為每個(gè)annotation提供的代
4、碼片段來學(xué)習(xí)細(xì)節(jié)。testng.xml文件描述,它的語法和如果指定它。多個(gè)特性的詳細(xì)列表和怎樣結(jié)合annotation和testng.xml來使用它們注:上面的內(nèi)容很簡短,但是請注意其中的一些細(xì)節(jié)。1.TestNG是一個(gè)設(shè)計(jì)用來簡化廣泛的測試需求的測試框架,從單元測試到集成測試這個(gè)是TestNG設(shè)計(jì)的出發(fā)點(diǎn),不僅僅是單元測試,而且可以用于集成測試。設(shè)計(jì)目標(biāo)的不同,對比junit的只適合用于單元測試,TestNG無疑走的更遠(yuǎn)。可以用于集成
5、測試,這個(gè)特性是我選擇TestNG的最重要的原因。2.測試的過程的三個(gè)典型步驟,注意和junit(4.0)相比,多了一個(gè)將測試信息添加到testng.xml文件或者build.xml測試信息尤其是測試數(shù)據(jù)不再寫死在測試代碼中,好處就是修改測試數(shù)據(jù)時(shí)不需要修改代碼編譯了,從而有助于將測試人員引入單元測試集成測試。3.基本概念,相比junit的TestCaseTestSuite,TestNG有suitetesttestmethod三個(gè)級(jí)別,
6、即將testtestmethod明確區(qū)分開了。junit中的TestCase將testtestmethod混合,比較容易讓人概念不清晰,尤其是新手。3dataProviderClass用于查找dataprovider的類。如果不指定,將在當(dāng)前測試方法所在的類或者它的基類上查找dataprovider。如果這個(gè)屬性被指定則dataprovider方法需要是指定類的static方法。dependsOnGroups當(dāng)前方法依賴的組列表depe
7、ndsOnMethods當(dāng)前方法依賴的方法列表deion當(dāng)前方法的描述enabled當(dāng)前類的方法方法是否被激活expectedExceptions測試方法期望拋出的異常列表。如果沒有異?;蛘邟伋龅牟皇橇斜碇械娜魏我粋€(gè),當(dāng)前方法都將標(biāo)記為失敗.groups當(dāng)前類方法所屬的組列表invocationCount當(dāng)前方法被調(diào)用的次數(shù)successPercentage當(dāng)前方法期望的成功率sequential如果設(shè)置為true,當(dāng)前測試類上的所有方
8、法保證按照順序運(yùn)行。甚至測試們在parallel=“true“的情況下.這個(gè)屬性只能用于類級(jí)別,如果用于方法級(jí)別將被忽略。timeOut當(dāng)前方法容許花費(fèi)的最大時(shí)間,單位毫秒。threadPoolSize當(dāng)前方法的線程池大小。方法將被多線程調(diào)用,次數(shù)由invocationCount參數(shù)指定注意:如果invocationCount沒有指定則這個(gè)屬性將被忽略注:上面是TestNG中用到的annotation列表,從中我們可以看到TestNG提
9、供的一些特性1.befe方法和after方法帶來了足夠豐富的測試生命周期控制2.dependsOnGroupsdependsOnMethods提供了依賴檢查機(jī)制,并可以嚴(yán)格控制執(zhí)行順序3.DataProvider使得對同一個(gè)方法的測試覆蓋變的非常輕松,非常適合進(jìn)行邊界測試,只要給出多種測試數(shù)據(jù)就可以針對一個(gè)測試方法進(jìn)行覆蓋4.expectedExceptions使得異常測試變的非常輕松5.invocationCountthreadPoo
10、lSize終于可以簡單的直接進(jìn)行多線程測試了,這個(gè)絕對是junit的超級(jí)弱項(xiàng),回想junit中那個(gè)萬惡的System.exist(0)...6.timeOut終于不用死等然后手工強(qiáng)行關(guān)閉測試,TestNG想的太周到了TestNGTestNG官方文檔中文版官方文檔中文版(3)testng.xml(3)testng.xmlTestNG的官方文檔的中文翻譯版第3章,原文請見:testng.gdocdocumentationmain.html3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論