TestNG - Quy trình thực thi
Chương này giải thích quy trình thực thi của các phương thức trong TestNG. Nó giải thích thứ tự của các phương thức được gọi. Dưới đây là quy trình thực thi của các phương pháp API thử nghiệm TestNG với một ví dụ.
Tạo tên tệp lớp java TestngAnnotation.java trong C:\>TestNG_WORKSPACE để kiểm tra các chú thích.
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");
}
}
Tiếp theo, hãy tạo tệp testng.xml trong C:\>TestNG_WORKSPACE để thực thi các chú thích.
<?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>
Biên dịch lớp Test case bằng javac.
C:\TestNG_WORKSPACE>javac TestngAnnotation.java
Bây giờ, hãy chạy testng.xml, sẽ chạy trường hợp thử nghiệm được xác định trong lớp Trường hợp thử nghiệm được cung cấp.
C:\TestNG_WORKSPACE>java org.testng.TestNG testng.xml
Xác minh kết quả đầu ra.
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
===============================================
Dựa trên kết quả trên, quy trình thực hiện như sau:
Trước hết, phương thức beforeSuite () chỉ được thực thi một lần.
Cuối cùng, phương thức afterSuite () chỉ thực thi một lần.
Ngay cả các phương thức beforeTest (), beforeClass (), afterClass () và afterTest () chỉ được thực thi một lần.
Phương thức beforeMethod () thực thi cho mỗi trường hợp thử nghiệm nhưng trước khi thực thi trường hợp thử nghiệm.
Phương thức afterMethod () thực thi cho mỗi trường hợp thử nghiệm nhưng sau khi thực thi trường hợp thử nghiệm.
Ở giữa beforeMethod () và afterMethod (), mỗi trường hợp thử nghiệm sẽ thực thi.