(引用)TESTNG總結

 

TestNG簡介:

TestNG是一個測試框架,其靈感來自JUnit和NUnit,但同時引入了一些新的功能,使其功能更強大,使用更方便。html

TestNG相較於Junit的優勢:

·可指定執行順序, dependsOnMethods 屬性來應對測試的依賴性問題。 
·參數化測試,TestNG 提供了開箱即用的相似特性。經過在 TestNG 的 XML 配置文件中放入參數化數據,就能夠對不一樣的數據集重用同一個測試用例,甚至有可能會獲得不一樣的結果。支持@DataProvider 註釋能夠方便地把複雜參數類型映射到某個測試方法。 
·支持分組測試 
·支持多線程測試java

官網地址:http://testng.org/doc/index.html多線程

TestNG用法簡介:

註解 描述
@BeforeSuite 註解的方法將只運行一次,全部測試運行前運行。
@AfterSuite 註解的方法將只運行一次,,全部測試運行後運行。
@BeforeClass 註解的方法將只運行一次,被註釋的方法將在當前類的第一個測試方法調用前運行。
@AfterClass 註解的方法將只運行一次,被註釋的方法將在當前類的最後一個個測試方法調用後運行。
@BeforeTest 被註釋的方法將在全部測試方法運行前運行
@AfterTest 被註釋的方法將在全部測試方法運行後運行
@BeforeGroups 組的列表,這種配置方法將以前運行。此方法是保證在運行屬於任何這些組第一個測試方法,該方法被調用。
@AfterGroups 組的名單,這種配置方法後,將運行。此方法是保證運行後不久,最後的測試方法,該方法屬於任何這些組被調用。
@BeforeMethod 註解的方法將每一個測試方法以前運行。
@AfterMethod 被註釋的方法將被運行後,每一個測試方法。
@DataProvider 標誌着一個方法,提供數據的一個測試方法。註解的方法必須返回一個Object[] [],其中每一個對象[]的測試方法的參數列表中能夠分配。該@Test 方法,但願從這個DataProvider的接收數據,須要使用一個dataProvider名稱等於這個註解的名字。
@Factory 做爲一個工廠,返回TestNG的測試類的對象將被用於標記的方法。該方法必須返回Object[]。
@Listeners 定義一個測試類的監聽器。
@Parameters 介紹如何將參數傳遞給@Test方法。
@Test 標記一個類或方法做爲測試的一部分。

生命週期:

@BeforeSuite->@BeforeTest->@BeforeClass->{@BeforeMethod->@Test->@AfterMethod}->@AfterClass->@AfterTest->@AfterSuite框架

分組測試

相比junit的TestCase/TestSuite,TestNG有suite/test/test method三個級別,即將test/test method明確區分開了。 
* suite由xml文件描述。它包含一個或多個測試並被定義爲標籤 
* test由描述幷包含一個或者多個TestNG類 
* TestNG類是包含至少一個TestNG annotation的Java類,由標籤描述幷包含一個或多個測試方法ide

 

參數化測試

TestNG提供了2種傳遞參數的方式。測試

第一種: testng.xml 方式使代碼和測試數據分離,方便維護,適用於一個用例,須要多個相同參數(值不一樣)來驗證的狀況。 
第二種:@DataProvider可以提供比較複雜的參數。 
這裏介紹下第一種,以下例:@Parameters({ 「key」 }) 會去testng.xml裏取到這個key對應的value,放到傳參secondName中。ui

(1) assertTrue:判斷是否爲True。.net

(2) assertFalse:判斷是否爲false。線程

(3) assertSame:判斷引用地址是否相同。xml

(4) assertNotSame:判斷引用地址是否不相同。

(5) assertNull:判斷是否爲null。

(6) assertNotNull:判斷是否不爲null。

(7) assertEquals:判斷是否相等,Object類型的對象須要實現haseCode及equals方法。

(8) assertNotEquals:判斷是否不相等。

(9) assertEqualsNoOrder:判斷忽略順序是否相等。

轉載:http://blog.csdn.net/mmk1992/article/details/52371111

相關文章
相關標籤/搜索