TestNG - 執行測試



測試用例使用TestNG類執行。此類是 TestNG 框架中執行測試的主要入口點。使用者可以建立自己的 TestNG 物件並以多種不同的方式呼叫它,例如:

  • 在現有的 testng.xml 上。

  • 在完全從 Java 建立的合成 testng.xml 上。

  • 透過直接設定測試類。

您還可以定義要包含或排除的組,分配引數等。命令列引數為:

  • -d outputdir:指定輸出目錄。

  • -testclass class_name:指定一個或多個類名。

  • -testjar jar_name:指定包含測試的 jar 檔案。

  • -sourcedir src1;src2:用分號分隔的源目錄列表(僅在使用 javadoc 註解時使用)。

  • -target

  • -groups

  • -testrunfactory

  • -listener

在下面的示例中,我們將建立一個 TestNG 物件和一個現有的 testng.xml。

建立類

建立一個要測試的 Java 類,例如MessageUtil.java,位於/work/testng/src目錄下。

/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message) {
      this.message = message;
   }

   // prints the message
   public String printMessage() {
      System.out.println(message);
      return message;
   }
}

建立測試用例類

  • 建立一個 Java 測試類,例如SampleTest.java

  • 在您的測試類中新增一個測試方法 testPrintMessage()。

  • 在 testPrintMessage() 方法上添加註解 @Test。

  • 實現測試條件並使用 TestNG 的 assertEquals API 檢查條件。

/work/testng/src目錄下建立一個名為SampleTest.java的 Java 類檔案。

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {

   String message = "Hello World";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

建立 testng.xml

接下來,讓我們在/work/testng/src目錄下建立 testng.xml 檔案來執行測試用例。此檔案以 XML 格式捕獲您的所有測試。此檔案使您可以輕鬆地在單個檔案中描述所有測試套件及其引數,您可以將其檢入程式碼儲存庫或傳送給同事。它還可以輕鬆地提取測試子集或拆分多個執行時配置(例如,testngdatabase.xml 將僅執行測試您的資料庫的測試)。

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Sample test Suite">
   <test name = "Sample test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

使用 javac 編譯測試用例。

/work/testng/src$ javac MessageUtil.java SampleTest.java

現在,執行 testng.xml,它將執行在<test>標籤中定義的測試用例。

/work/testng/src$ java org.testng.TestNG testng.xml

驗證輸出。

Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================
廣告