[跟著官方文檔學TestNG][二][學習筆記]
1.注解
下面是對TestNG中可用注解及其屬性的快速概述。
@BeforeSuite:帶注解的方法將在該套件中的所有測試運行之前運行。 @AfterSuite:該套件中的所有測試都運行后,將運行帶注解的方法。 @BeforeTest:帶注解的方法將在屬于
@DataProvider:將方法標記為為測試方法提供數據。帶注解的方法必須返回一個Object[][],其中每個Object[]都可以分配測試方法的參數列表。想要從這個DataProvider接收數據的@Test方法需要使用一個與這個注解名稱相同的dataProvider名稱。 name: 此數據提供者的名稱。如果未提供,則此數據提供者的名稱將自動設置為方法的名稱。 parallel: 如果設置為true,則使用此數據提供程序生成的測試將并行運行。默認值為false。
@Factory:將方法標記為工廠,該工廠返回將由TestNG用作測試類的對象。該方法必須返回Object[]。
@Listeners:在測試類上定義- value: 擴展org.testng.ITestNGListener的類數組。
@Parameters:描述如何將參數傳遞給@Test方法。 value: 用于填充此方法的參數的變量列表。
@Test:將類或方法標記為測試的一部分。 alwaysRun: 如果設置為true,即使它依賴于失敗的方法,該測試方法也將始終運行。 dataProvider: 此測試方法的數據提供者的名稱。 dataProviderClass: 查找數據提供者的類。如果未指定,則將在當前測試方法的類或其基類之一上查找數據提供者。如果指定了此屬性,則數據提供者方法需要在指定類上是靜態的。 dependsOnGroups: 此方法所依賴的組列表。 dependsOnMethods: 此方法所依賴的方法列表。 description: 此方法的說明。 enabled: 是否啟用此類/方法上的方法。 expectedExceptions: 測試方法預期拋出的異常列表。如果沒有拋出異常或與此列表中的異常不同,則此測試將被標記為失敗。 groups: 該類/方法所屬的組列表。 invocationCount: 應調用此方法的次數。 invocationTimeOut: 對于所有調用計數的累積時間,此測試應花費的最大毫秒數。如果未指定invocationCount,則此屬性將被忽略。 priority: 此測試方法的優先級。較低的優先級將首先被安排。 successPercentage: 此方法預期的成功百分比。 singleThreaded: 如果設置為true,則該測試類上的所有方法都保證在同一個線程中運行,即使當前正在使用parallel="methods"運行測試。此屬性只能在類級別使用,如果在方法級別使用,它將被忽略。注意:此屬性過去稱為sequential(現在已棄用)。 timeOut: 此測試應花費的最大毫秒數。 threadPoolSize: 此方法的線程池大小。該方法將從invocationCount指定的多個線程中調用。注意:如果未指定 invocationCount,則忽略此屬性。
2.testing.xml
你可以通過幾種不同的方式調用TestNG:
testing.xml文件
ant
命令行
這里介紹testng.xml的格式。下面是testing.xml文件
也可以指定包名而不是類名:
在這個例子中,TestNG將查看com.example包中的所有類,并且只保留具有TestNG注解的類。
還可以指定要包含和排除的組和方法:
還可以在testng.xml中定義新組并在屬性中指定其他詳細信息,例如是否并行運行測試、要使用多少線程、是否正在運行JUnit測試等…
默認情況下,TestNG將按照它們在XML文件中的順序運行測試。如果希望此文件中列出的類和方法以不可預知的順序運行,請將preserve-order屬性設置為false
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。