- TestNG 教程
- TestNG - 首頁
- TestNG - 概述
- TestNG - 環境
- TestNG - 編寫測試
- TestNG - 基本註解
- TestNG - 執行過程
- TestNG - 執行測試
- TestNG - 套件測試
- TestNG - 忽略測試
- TestNG - 組測試
- TestNG - 異常測試
- TestNG - 依賴測試
- TestNG - 引數化測試
- TestNG - 執行 JUnit 測試
- TestNG - 測試結果
- TestNG - 註解轉換器
- TestNG - 斷言
- TestNG - 並行執行
- TestNG - 與 ANT 整合
- TestNG - 與 Eclipse 整合
- TestNG - TestNG 與 JUnit 的比較
- TestNG 有用資源
- TestNG - 快速指南
- TestNG - 有用資源
- TestNG - 討論
TestNG - 基本註解 - 工廠
@Factory 註解的方法允許在執行時根據某些資料集或條件建立測試。該方法必須返回 Object[]。
建立測試用例類
建立一個 Java 測試類,例如,SimpleTestFactory.java。
在您的測試類中新增一個測試方法 testMethod()。
在 testMethod() 方法上新增 @Test 註解。
在 /work/testng/src 中建立一個名為 SimpleTestFactory.java 的 Java 類檔案。
import org.testng.annotations.Test;
public class SimpleTestFactory {
@Test
public void testMethod(){
System.out.println("Simple Test Method.");
}
}
建立工廠測試類
在 /work/testng/src 中建立另一個 Java 類,例如,TestAnnotationFactory.java。
在您的測試類中新增一個工廠方法 factoryMethod()。工廠方法必須返回一個 Object 類陣列 (Object[])
在 factoryMethod() 方法上新增 @Factory 註解。
以下是 TestAnnotationFactory.java 的內容
import org.testng.annotations.Test;
import org.testng.annotations.Factory;
public class TestAnnotationFactory {
@Factory
public Object[] factoryMethod() {
return new Object[]{
new SimpleTestFactory(),
new SimpleTestFactory()
};
}
}
建立 testng.xml
接下來,讓我們在 /work/testng/src 中建立 testng.xml 檔案來執行測試用例。此檔案以 XML 格式捕獲您的整個測試。此檔案使您能夠輕鬆地在一個檔案中描述所有測試套件及其引數,您可以將其檢入程式碼庫或透過電子郵件傳送給同事。它還使您能夠輕鬆地提取測試子集或拆分多個執行時配置(例如,testngdatabase.xml 將僅執行測試您的資料庫的測試)。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="TestAnnotationFactory"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
使用 javac 編譯測試用例。
/work/testng/src$ javac SimpleTestFactory.java TestAnnotationFactory.java
現在,執行 testng.xml,它將執行在 <test> 標籤中定義的測試用例。正如您所看到的,SimpleTestFactory 類中的測試方法執行了兩次。
/work/testng/src$ java org.testng.TestNG testng.xml
驗證輸出。
Simple Test Method. Simple Test Method. =============================================== Suite Total tests run: 2, Passes: 2, Failures: 0, Skips: 0 ===============================================
廣告