TestNG執行程序
本教學介紹了TestNG中執行程序的方法,這意味著該方法被稱為第一和一個接著。下麵是執行程序的TestNG測試API的方法的例子。
創建一個Java類文件名TestngAnnotation.java在C:>TestNG_WORKSPACE測試注解。
import org.testng.annotations.Test; import org.testng.annotations.BeforeMethod; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeClass; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeTest; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeSuite; import org.testng.annotations.AfterSuite; public class TestngAnnotation { // test case 1 @Test public void testCase1() { System.out.println("in test case 1"); } // test case 2 @Test public void testCase2() { System.out.println("in test case 2"); } @BeforeMethod public void beforeMethod() { System.out.println("in beforeMethod"); } @AfterMethod public void afterMethod() { System.out.println("in afterMethod"); } @BeforeClass public void beforeClass() { System.out.println("in beforeClass"); } @AfterClass public void afterClass() { System.out.println("in afterClass"); } @BeforeTest public void beforeTest() { System.out.println("in beforeTest"); } @AfterTest public void afterTest() { System.out.println("in afterTest"); } @BeforeSuite public void beforeSuite() { System.out.println("in beforeSuite"); } @AfterSuite public void afterSuite() { System.out.println("in afterSuite"); } }
接下來,讓我們創建的文件 testng.xml 在 C: > TestNG_WORKSPACE 執行注解。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="Suite1"> <test name="test1"> <classes> <class name="TestngAnnotation"/> </classes> </test> </suite>
編譯使用javac測試用例類。
C:TestNG_WORKSPACE>javac TestngAnnotation.java
現在運行testng.xml,將運行提供的測試用例類中定義的測試用例。
C:TestNG_WORKSPACE>java org.testng.TestNG testng.xml
驗證輸出。
in beforeSuite in beforeTest in beforeClass in beforeMethod in test case 1 in afterMethod in beforeMethod in test case 2 in afterMethod in afterClass in afterTest in afterSuite =============================================== Suite Total tests run: 2, Failures: 0, Skips: 0 ===============================================
見上麵的輸出,TestNG是執行過程如下:
-
首先所有beforeSuite()方法隻執行一次。
-
最後,afterSuite的()方法隻執行一次。
-
即使方法 beforeTest(), beforeClass(), afterClass() 和afterTest() 方法隻執行一次。
-
beforeMethod()方法執行每個測試用例,但在此之前執行的測試用例。
-
afterMethod()方法執行每個測試用例,但測試用例執行後。
-
In between beforeMethod() and afterMethod() each test case executes.