[跟著官方文檔學TestNG][一][學習筆記]
TestNG是一個受JUnit和NUnit啟發的測試框架,但引入了一些新功能,使其更強大且更易于使用,例如:
注解
在具有各種可用策略的任意大的線程池中運行你的測試(所有方法在它們自己的線程中,每個測試類一個線程,等等…)
測試你的代碼是多線程安全的。
靈活的測試配置。
支持數據驅動測試(使用@DataProvider)。
支持參數。
強大的執行模型(不再有 TestSuite)。
支持多種工具和插件(Eclipse、IDEA、Maven 等)。
嵌入 BeanShell 以獲得更大的靈活性。
用于運行時和日志記錄的默認 JDK 函數(無依賴關系)。
應用服務器測試的依賴方法。
TestNG旨在簡化廣泛的測試需求,從單元測試(單獨測試其他類)到集成測試(測試由多個類,多個包甚至幾個外部框架組成的整個系統,如應用程序服務器)。
編寫測試通常分為三個步驟:
編寫測試的業務邏輯,并在代碼中插入TestNG注解。
在testng.xml文件或build.xml中添加有關測試的信息(例如類名、要運行的組等)。
運行TestNG。
代碼示例:
import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class SimpleTest { @BeforeClass public void setUp() { //... } @Test(groups = {"fast"}) public void aFastTest() { System.out.println("Fast test"); } @Test(groups = {"slow"}) public void aSlowTest() { System.out.println("Slow test"); } }
輸出結果:
方法setUp()將在構建測試類之后和運行任何測試方法之前調用。在此示例中,我們將快速運行組,因此將調用 aFastTest()而跳過aSlowTest()。
注意事項:
無需擴展類或實現接口。
盡管上面的例子使用了JUnit約定,我們的方法可以被稱為任何你喜歡的名字,它是告訴TestNG它們是什么的注解。
一個測試方法可以屬于一個或多個組。
TestNG要求JDK 8及以上。
本文檔中使用的概念如下:
一個套件由一個XML文件表示。它可以包含一個或多個測試,并由
測試由
TestNG類是包含至少一個TestNG注解的Java類。它由
測試方法是在源代碼中由@Test注解的Java方法。
TestNG測試可以通過@BeforeXXX和@AfterXXX注解來配置,它們允許在某個點之前和之后執行一些Java邏輯,這些點是上面列出的項目之一。
教程其余部分將解釋以下內容:
帶有簡要說明的所有注釋的列表。這將了解TestNG提供的各種功能,但可能需要查閱專門針對每個注解的部分以了解詳細信息。
testng.xml文件的描述、其語法以及可以在其中指定的內容。
各種功能的詳細列表以及如何結合注釋和testng.xml使用它們。
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。