TestNG是一個測試框架,其靈感來自JUnit和NUnit,但同時引入了一些新的功能,使其功能更強大,使用更方便。html
·可指定執行順序, dependsOnMethods 屬性來應對測試的依賴性問題。
·參數化測試,TestNG 提供了開箱即用的相似特性。經過在 TestNG 的 XML 配置文件中放入參數化數據,就能夠對不一樣的數據集重用同一個測試用例,甚至有可能會獲得不一樣的結果。支持@DataProvider 註釋能夠方便地把複雜參數類型映射到某個測試方法。
·支持分組測試
·支持多線程測試java
官網地址:http://testng.org/doc/index.html多線程
@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