TestNG - Prosedur Eksekusi

Bab ini menjelaskan prosedur eksekusi metode di TestNG. Ini menjelaskan urutan metode yang dipanggil. Berikut adalah prosedur eksekusi metode API pengujian TestNG dengan sebuah contoh.

Buat nama file kelas java TestngAnnotation.java di C:\>TestNG_WORKSPACE untuk menguji anotasi.

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");
   }

}

Selanjutnya, mari buat file testng.xml di C:\>TestNG_WORKSPACE untuk menjalankan anotasi.

<?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>

Kompilasi kelas Test case menggunakan javac.

C:\TestNG_WORKSPACE>javac TestngAnnotation.java

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

C:\TestNG_WORKSPACE>java org.testng.TestNG testng.xml

Verifikasi hasilnya.

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
===============================================

Berdasarkan output di atas, prosedur eksekusinya adalah sebagai berikut -

  • Pertama-tama, metode beforeSuite () dijalankan hanya sekali.

  • Terakhir, metode afterSuite () hanya dijalankan satu kali.

  • Bahkan metode beforeTest (), beforeClass (), afterClass (), dan afterTest () hanya dijalankan sekali.

  • Metode beforeMethod () dijalankan untuk setiap kasus pengujian tetapi sebelum menjalankan kasus pengujian.

  • metode afterMethod () dijalankan untuk setiap kasus pengujian tetapi setelah menjalankan kasus pengujian.

  • Di antara beforeMethod () dan afterMethod (), setiap kasus pengujian akan dijalankan.