TestNG - Procedimiento de ejecución
Este capítulo explica el procedimiento de ejecución de métodos en TestNG. Explica el orden de los métodos llamados. Aquí está el procedimiento de ejecución de los métodos de la API de prueba TestNG con un ejemplo.
Crea un nombre de archivo de clase java TestngAnnotation.java en C:\>TestNG_WORKSPACE para probar las anotaciones.
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");
}
}
A continuación, creemos el archivo testng.xml en C:\>TestNG_WORKSPACE para ejecutar anotaciones.
<?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>
Compile la clase de caso de prueba con javac.
C:\TestNG_WORKSPACE>javac TestngAnnotation.java
Ahora, ejecute testng.xml, que ejecutará el caso de prueba definido en la clase de Caso de prueba proporcionada.
C:\TestNG_WORKSPACE>java org.testng.TestNG testng.xml
Verifique la salida.
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
===============================================
Según el resultado anterior, el procedimiento de ejecución es el siguiente:
En primer lugar, el método beforeSuite () se ejecuta solo una vez.
Por último, el método afterSuite () se ejecuta solo una vez.
Incluso los métodos beforeTest (), beforeClass (), afterClass () y afterTest () se ejecutan solo una vez.
El método beforeMethod () se ejecuta para cada caso de prueba pero antes de ejecutar el caso de prueba.
El método afterMethod () se ejecuta para cada caso de prueba, pero después de ejecutar el caso de prueba.
Entre beforeMethod () y afterMethod (), se ejecuta cada caso de prueba.