位置:首頁 > Java技術 > TestNG教學 > TestNG執行程序

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.