[跟著官方文檔學TestNG][二][學習筆記]

      網友投稿 782 2022-05-29

      1.注解

      下面是對TestNG中可用注解及其屬性的快速概述。

      @BeforeSuite:帶注解的方法將在該套件中的所有測試運行之前運行。 @AfterSuite:該套件中的所有測試都運行后,將運行帶注解的方法。 @BeforeTest:帶注解的方法將在屬于 標記內的類的任何測試方法運行之前運行。 @AfterTest:被注解的方法將在屬于 標簽內的類的所有測試方法都運行后運行。 @BeforeGroups:此配置方法將在之前運行的組列表。此方法保證在調用屬于這些組中的任何組的第一個測試方法之前不久運行。 @AfterGroups:此配置方法將運行的組列表。此方法保證在調用屬于任何這些組的最后一個測試方法后不久運行。 @BeforeClass:被注解的方法會在當前類的第一個測試方法被調用之前運行。 @AfterClass:被注解的方法會在當前類的所有測試方法都運行完之后運行。 @BeforeMethod:注解的方法將在每個測試方法之前運行。 @AfterMethod:注解的方法將在每個測試方法之后運行。 TestNG類的超類中注解的行為 當放置在TestNG類的超類上時,上面的注解也將被繼承。例如,這對于在一個公共超類中集中多個測試類的測試設置很有用。 在這種情況下,TestNG保證"@Before"方法以繼承順序執行(首先是最高的超類,然后沿著繼承鏈向下),而"@After"方法以相反的順序執行(沿著繼承鏈向上)。 alwaysRun: 對于before方法(beforeSuite、beforeTest、beforeTestClass和beforeTestMethod,但不是beforeGroups):如果設置為true,則無論屬于哪個組,都會運行此配置方法。 對于after方法 (afterSuite, afterClass, ...):如果設置為true,即使之前調用的一個或多個方法失敗或被跳過,也會運行此配置方法。 dependsOnGroups: 此方法所依賴的組列表。 dependsOnMethods: 此方法所依賴的方法列表。 enabled: 是否啟用此類/方法上的方法。 groups: 該類/方法所屬的組列表。 inheritGroups: 如果為true,則此方法將屬于在類級別的@Test注解中指定的組。 onlyForGroups: 僅適用于@BeforeMethod和@AfterMethod。如果指定,則僅當相應的測試方法屬于列出的組之一時才會調用此setUp/teardown方法。

      @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

      [跟著官方文檔學TestNG][二][學習筆記]

      Java

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:市場上幾款熱門OCR文檔識別工具測試結果對比
      下一篇:Doxygen 介紹和下載,安裝
      相關文章
      亚洲国产品综合人成综合网站| 亚洲va无码手机在线电影| 中文字幕亚洲一区二区三区| 亚洲日韩AV一区二区三区中文| 亚洲国产午夜精品理论片| 久久久久亚洲AV无码麻豆| 亚洲AV无码久久精品成人| 亚洲精品乱码久久久久久久久久久久 | 日本亚洲色大成网站www久久| 亚洲字幕在线观看| 亚洲毛片无码专区亚洲乱| 亚洲欧洲日本天天堂在线观看| 亚洲综合久久综合激情久久| 亚洲欧洲日韩国产综合在线二区| 国产v亚洲v天堂无码网站| 亚洲av中文无码乱人伦在线咪咕| 国产亚洲一区二区在线观看| 国产AV无码专区亚洲AVJULIA| 亚洲欧洲无码AV电影在线观看| 国产亚洲精AA在线观看SEE| 亚洲精品乱码久久久久久自慰| 国产V亚洲V天堂无码久久久| 亚洲国产精品高清久久久| 亚洲大尺度无码无码专区| 亚洲精品高清视频| 亚洲理论片在线观看| 亚洲国产午夜精品理论片| 亚洲已满18点击进入在线观看| 亚洲中文字幕无码亚洲成A人片| 亚洲人成色777777精品| 在线亚洲v日韩v| 香蕉视频在线观看亚洲| 亚洲v高清理论电影| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲理论片在线中文字幕| 亚洲一区二区三区国产精品无码| 亚洲日韩中文字幕一区| 亚洲?v无码国产在丝袜线观看| 久久激情亚洲精品无码?V| 亚洲国产第一站精品蜜芽| 久久精品国产亚洲av水果派|