Rate this post

TestNG cung cấp tính năng bật và tắt các test case. Chúng tôi có thể vô hiệu hóa việc thực thi một tập hợp các test case. Ví dụ: hãy xem xét một tình huống trong đó một lỗi nghiêm trọng xảy ra trong một tính năng do các thử nghiệm nhất định, vì vậy chúng tôi cần vô hiệu hóa các test case được thực thi.

Các bài viết liên quan:

Trong TestNG, các test case có thể bị vô hiệu hóa theo hai cách:

  • Bạn có thể tắt test case trong chú thích @Test.
  • Bạn có thể tắt trường hợp kiểm tra trong tệp XML.

Tham số kích hoạt TestNG @Test

Bạn có thể vô hiệu hóa hoặc Exclude các test case bằng cách sử dụng thuộc tính enable cho chú thích @Test và gán giá trị Sai cho thuộc tính enable.

Hãy hiểu qua một ví dụ:

package day1;  
import org.testng.annotations.Test;  
  
public class module1   
{  
    @Test(enabled=false)     
    public void test1()                                          // First test case  
    {  
        System.out.println("Hello world!!");  
    }  
      
    @Test  
    public void test2()                                          // Second test case  
    {  
        System.out.println("JTP Travels");  
    }}  

Trong đoạn mã trên, chúng tôi đã tạo hai test case, tức là test1 () và test2 () và chúng tôi vô hiệu test case đầu tiên bằng cách gán giá trị False cho thuộc tính enable. Khi tắt test case đầu tiên, test case thứ hai duy nhất sẽ chạy.

Đầu ra

Trong đầu ra ở trên, chúng tôi quan sát thấy rằng chỉ chạy test case thứ hai mà không có bất kỳ lỗi nào.

Tắt thuộc tính enable trong tệp XML.

Bước 1: Cho đến nay, chúng tôi đã tạo các test case của function.

package day1;  
import org.testng.annotations.Test;  
  
public class module1   
{  
    @Test  
    public void test1()  
    {  
        System.out.println("Hello world!!");  
    }  
      
    @Test  
    public void test2()  
    {  
        System.out.println("JTP Travels");  
    }}  
package day1;  
  
import org.testng.annotations.Test;  
  
public class module2   
{  
 @Test  
 public void WebLoginCarLoan()  
 {  
     System.out.println("WebLoginCarLoan");  
 }  
 @Test  
 public void MobileLoginCarLoan()  
 {  
     System.out.println("MobileLoginCarLoan");  
 }  
 @Test  
 public void APILoginCarLoan()  
 {  
     System.out.println("APILoginCarLoan");  
 }  
   
}  

module1.java chứa các test case của Khoản vay cá nhân trong khi module2.java chứa các test case của khoản vay mua ô tô.

Bước 2: Nếu chúng ta muốn tắt trường hợp kiểm tra MobileLoginCarLoan trong mô-đun cho vay mua ô tô, thì chúng ta cần thêm thẻ <method> trong tệp xml có quyền truy cập vào tất cả các phương thức của một lớp.

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">  
<suite name="loan_department">  
  <test name="Personal_loan">  
  <classes>  
  <class name="day1.module1"/>  
  </classes>  
  </test> <!-- Test -->  
  <test name="Car_loan">  
  <classes>  
  <class name="day1.module2">  
  <methods>  
  <exclude name = "MobileLoginCarLoan"/>  
  </methods>  
  </class>  
  </classes>  
  </test>  
</suite> <!-- Suite -->  

Bước 3: Chạy tệp testng.xml . Nhấp chuột phải vào tệp testng.xml và di chuyển con trỏ xuống, bạn sẽ thấy Run As và sau đó nhấp vào 1 TestNG Suite .

Đầu ra

Trong đầu ra ở trên, chúng tôi quan sát thấy rằng tất cả các test case đều chạy thành công ngoại trừ test case ” MobileLoginCarLoan ” mà chúng tôi đã Exclude.

Lưu ý: Giả sử chúng ta có nhiều test case và bạn chỉ muốn Include một hoặc hai test case, trong trường hợp đó, chúng tôi sử dụng thẻ <include>. Nếu chúng ta sử dụng thẻ <exclude>, thì việc Exclude tất cả các test case trở nên rất tẻ nhạt.

Xem thêm Chạy các Test Case với Regex

Hãy hiểu qua một ví dụ về thẻ <include>.

package day1;  
  
import org.testng.annotations.Test;  
  
public class test   
{  
 @Test  
 public void test1()  
 {  
     System.out.println("test1");  
 }  
   
 @Test  
 public void test2()  
 {  
     System.out.println("test2");  
 }  
   
 @Test  
 public void test3()  
 {  
     System.out.println("test3");  
       
 }  
 @Test  
 public void test4()  
 {  
     System.out.println("test3");  
 }  
}  

File testng.xml

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">  
<suite name="test_suite">  
 <test name="test">  
 <classes>  
 <class name="day1.test">  
 <methods>  
 <include name="test3"/>  
 </methods>  
 </class>  
 </classes>  
  </test> <!-- Test -->  
    
</suite> <!-- Suite -->  

Đầu ra

Trong kết quả đầu ra ở trên, chúng tôi quan sát thấy rằng chỉ có một test case đang chạy, tức là test3 vì chúng tôi đã chỉ Include test3 trong thẻ <include> trong tệp XML.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now