Учебники

TestNG — процедура выполнения

В этой главе описывается процедура выполнения методов в TestNG. Это объясняет порядок вызываемых методов. Вот процедура выполнения методов API тестирования TestNG с примером.

Создайте файл класса Java с именем TestngAnnotation.java в C: \> TestNG_WORKSPACE для проверки аннотаций.

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

}

Далее, давайте создадим файл testng.xml в C: \> TestNG_WORKSPACE для выполнения аннотаций.

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

Скомпилируйте класс Test case, используя javac.

C:\TestNG_WORKSPACE>javac TestngAnnotation.java

Теперь запустите testng.xml, который запустит тестовый набор, определенный в предоставленном классе Test Case.

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

Проверьте вывод.

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

На основании вышеприведенного вывода процедура выполнения выглядит следующим образом:

Прежде всего, метод beforeSuite () выполняется только один раз.

Наконец, метод afterSuite () выполняется только один раз.

Даже методы beforeTest (), beforeClass (), afterClass () и afterTest () выполняются только один раз.

Метод beforeMethod () выполняется для каждого тестового примера, но перед его выполнением.

Метод afterMethod () выполняется для каждого тестового примера, но после его выполнения.

Между beforeMethod () и afterMethod () выполняется каждый тестовый пример.