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