TestNG - Thử nghiệm Suite

A test suitelà một tập hợp các trường hợp kiểm thử nhằm mục đích kiểm tra một hành vi hoặc một tập hợp các hành vi của chương trình phần mềm. Trong TestNG, chúng tôi không thể định nghĩa một bộ trong mã nguồn thử nghiệm, nhưng nó được thể hiện bằng một tệp XML, vì bộ là tính năng thực thi. Nó cũng cho phép cấu hình linh hoạt của các bài kiểm tra được chạy. Một bộ có thể chứa một hoặc nhiều bài kiểm tra và được xác định bởi thẻ <suite>.

<suite> là thẻ gốc của testng.xml của bạn. Nó mô tả một bộ thử nghiệm, lần lượt được tạo ra từ một số phần <test>.

Bảng sau liệt kê tất cả các thuộc tính pháp lý mà <suite> chấp nhận.

Sr.No. Thuộc tính & Mô tả
1

name

Tên của bộ này. Nó là mộtmandatory thuộc tính.

2

verbose

Mức độ hoặc độ dài cho lần chạy này.

3

parallel

Liệu TestNG có nên chạy các luồng khác nhau để chạy bộ này hay không.

4

thread-count

Số luồng sẽ sử dụng, nếu chế độ song song được bật (bỏ qua các luồng khác).

5

annotations

Loại chú thích bạn đang sử dụng trong các thử nghiệm của mình.

6

time-out

Thời gian chờ mặc định sẽ được sử dụng trên tất cả các phương pháp thử nghiệm được tìm thấy trong thử nghiệm này.

Trong chương này, chúng tôi sẽ chỉ cho bạn một ví dụ có hai lớp thử nghiệm, Test1 & Test2, chạy cùng nhau bằng Test Suite.

Tạo một lớp học

Tạo một lớp java để được kiểm tra, giả sử, MessageUtil.java trong C:\>JUNIT_WORKSPACE.

/*
* 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;
   }

   // add "Hi!" to the message
   public String salutationMessage() {
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }
}

Tạo lớp trường hợp thử nghiệm

Tạo tệp lớp java có tên Test1.java trong C:\>TestNG_WORKSPACE.

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

public class Test1 {
   String message = "Manisha";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      System.out.println("Inside testPrintMessage()");
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

Tạo tệp lớp java có tên Test2.java trong C:\>TestNG_WORKSPACE.

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

public class Test2 {
   String message = "Manisha";	
   MessageUtil messageUtil = new MessageUtil(message);
	 
   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Manisha";
      Assert.assertEquals(message,messageUtil.salutationMessage());
   }
}

Bây giờ, hãy viết testng.xml trong C:\>TestNG_WORKSPACE, sẽ chứa thẻ <suite> như sau:

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name = "Suite1">

   <test name = "exampletest1">
      <classes>
         <class name = "Test1" />
      </classes>
   </test>
  
   <test name = "exampletest2">
      <classes>
         <class name = "Test2" />
      </classes>
   </test>
  
</suite>

Suite1 bao gồm exampletest1exampletest2.

Biên dịch tất cả các lớp java bằng javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java Test1.java Test2.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 -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Xác minh kết quả đầu ra.

Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha

===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
===============================================

Bạn cũng có thể kiểm tra thư mục đầu ra thử nghiệm . Trong thư mục Suite1 , bạn có thể thấy hai tệp html được tạo, exampletest1.html và exampletest2.html, trông như sau: