TestNG - Procedimento de Execução
Este capítulo explica o procedimento de execução de métodos em TestNG. Ele explica a ordem dos métodos chamados. Aqui está o procedimento de execução dos métodos da API de teste TestNG com um exemplo.
Crie um nome de arquivo de classe java TestngAnnotation.java dentro C:\>TestNG_WORKSPACE para testar anotações.
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 seguir, vamos criar o arquivo testng.xml dentro C:\>TestNG_WORKSPACE para executar anotações.
<?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 a classe de caso de teste usando javac.
C:\TestNG_WORKSPACE>javac TestngAnnotation.java
Agora, execute o testng.xml, que executará o caso de teste definido na classe de caso de teste fornecida.
C:\TestNG_WORKSPACE>java org.testng.TestNG testng.xml
Verifique a saída.
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
===============================================
Com base na saída acima, o procedimento de execução é o seguinte -
Em primeiro lugar, o método beforeSuite () é executado apenas uma vez.
Por último, o método afterSuite () é executado apenas uma vez.
Mesmo os métodos beforeTest (), beforeClass (), afterClass () e afterTest () são executados apenas uma vez.
O método beforeMethod () é executado para cada caso de teste, mas antes de executar o caso de teste.
O método afterMethod () é executado para cada caso de teste, mas após a execução do caso de teste.
Entre beforeMethod () e afterMethod (), cada caso de teste é executado.