
- 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 vs JUnit
- TestNG 有用資源
- TestNG - 快速指南
- TestNG - 有用資源
- TestNG - 討論
TestNG - 基本註解 - DataProvider
@DataProvider 註解幫助我們編寫資料驅動的測試用例。@DataProvider 註解使我們能夠透過傳遞不同的資料集來多次執行測試方法。
@DataProvider 註解支援的屬性列表如下:
屬性 | 描述 |
---|---|
name |
此資料提供程式的名稱。如果未提供,則此資料提供程式的名稱將自動設定為方法的名稱。帶註解的方法必須返回一個 Object[][],其中每個 Object[] 可以分配給測試方法的引數列表。 |
parallel |
如果設定為true,則使用此資料提供程式生成的測試將並行執行。預設值為false。 |
建立測試用例類
建立一個 Java 測試類,例如,TestAnnotationDataProvider.java 在 /work/testng/src 目錄下。
向測試類新增一個測試方法 testMethod()。
向 testMethod() 方法新增 @Test 註解。
向測試類新增一個帶有 @DataProvider 註解的方法 dataProviderMethod。
實現測試條件並檢查 @DataProvider 註解的行為。
以下是 TestAnnotationAfterMethod.java 的內容
import org.testng.annotations.Test; import org.testng.annotations.DataProvider; public class TestAnnotationDataProvider { @DataProvider(name = "data-provider") public Object[][] dataProviderMethod() { return new Object[][] { { "data one" }, { "data two" }, { "data three" } }; } @Test(dataProvider = "data-provider") public void testMethod(String data) { System.out.println("Data is: " + data); } }
建立 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="TestAnnotationDataProvider"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
使用 javac 編譯測試用例。
/work/testng/src$ javac TestAnnotationDataProvider.java
現在,執行 testng.xml,它將執行在 <test> 標籤中定義的測試用例。正如您所看到的,@DataProvider 將引數傳遞給測試方法。
/work/testng/src$ java org.testng.TestNG testng.xml
驗證輸出。
Data is: data one Data is: data two Data is: data three =============================================== Suite Total tests run: 3, Passes: 3, Failures: 0, Skips: 0 ===============================================