TestNG - Uji Suite

SEBUAH test suiteadalah kumpulan kasus uji yang dimaksudkan untuk menguji perilaku atau sekumpulan perilaku program perangkat lunak. Di TestNG, kami tidak dapat menentukan suite dalam pengujian kode sumber, tetapi diwakili oleh satu file XML, karena suite adalah fitur eksekusi. Ini juga memungkinkan konfigurasi tes yang fleksibel untuk dijalankan. Sebuah suite dapat berisi satu atau lebih tes dan ditentukan oleh tag <suite>.

<suite> adalah tag root testng.xml Anda. Ini menjelaskan rangkaian pengujian, yang pada gilirannya terdiri dari beberapa bagian <test>.

Tabel berikut mencantumkan semua atribut hukum yang diterima <suite>.

Sr.No. Atribut & Deskripsi
1

name

Nama suite ini. Ini adalah sebuahmandatory atribut.

2

verbose

Level atau verbositas untuk proses ini.

3

parallel

Apakah TestNG harus menjalankan utas yang berbeda untuk menjalankan rangkaian ini.

4

thread-count

Jumlah utas yang akan digunakan, jika mode paralel diaktifkan (jika tidak, diabaikan).

5

annotations

Jenis anotasi yang Anda gunakan dalam pengujian Anda.

6

time-out

Batas waktu default yang akan digunakan di semua metode pengujian yang ditemukan dalam pengujian ini.

Dalam bab ini, kami akan menunjukkan kepada Anda contoh yang memiliki dua kelas pengujian, Test1 & Test2, untuk dijalankan bersama menggunakan Test Suite.

Buat Kelas

Buat kelas java untuk diuji, misalnya, MessageUtil.java di 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;
   }
}

Buat Kelas Kasus Uji

Buat file kelas java bernama Test1.java di 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());
   }
}

Buat file kelas java bernama Test2.java di 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());
   }
}

Sekarang, mari tulis testng.xml C:\>TestNG_WORKSPACE, yang akan berisi tag <suite> sebagai berikut -

<?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 termasuk exampletest1 dan exampletest2.

Kompilasi semua kelas java menggunakan javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java Test1.java Test2.java

Sekarang, jalankan testng.xml, yang akan menjalankan kasus uji yang ditentukan di kelas Kasus Uji yang disediakan.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Verifikasi hasilnya.

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

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

Anda juga dapat memeriksa folder keluaran uji . Di bawah folder Suite1 , Anda dapat melihat dua file html yang dibuat, exampletest1.html dan exampletest2.html, yang akan terlihat sebagai berikut -