Les deux annotations sont exécutées avant le @test dans testNG, quelle est la différence entre deux d'entre elles.
vérifier ci-dessous le code et la sortie
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class Test_BeforeTestAndBeforeMethod {
@BeforeTest
public void beforeTest()
{
System.out.println("beforeTest");
}
@BeforeMethod
public void beforeMethod()
{
System.out.println("\nbeforeMethod");
}
@Test
public void firstTest()
{
System.out.println("firstTest");
}
@Test
public void secondTest()
{
System.out.println("secondTest");
}
@Test
public void thirdTest()
{
System.out.println("thirdTest");
}
}
sortie:
beforeTest
beforeMethod
firstTest
beforeMethod
secondTest
beforeMethod
thirdTest
@BeforeTest
: il sera appelé Une seule fois avant toutes les méthodes de test, quel que soit le nombre de méthodes annotées avec @Test
, elle ne sera appelée qu'une fois
@BeforeMethod
Il sera appelé avant chaque méthode annotée avec @Test
. Si vous avez 10 méthodes @Test
, il sera appelé 10 fois.
@BeforeTest Pour exécuter une méthode de configuration avant l'une des méthodes de test incluses dans la balise <test> du fichier testng.xml les méthodes de test annotées comme @Test.
@BeforeTest
ne sera exécuté qu'une fois avant les méthodes de test. Les méthodes seront exécutées avant toute méthode de test annotée @Test
faisant partie de la balise <test>
du fichier testNG.xml .@BeforeMethod
sera exécuté avant chaque méthode annotée avec @Test
.
En TestNG
@BeforeMethod - BeforeMethod s'exécute avant chaque méthode de test. Toutes les méthodes qui utilisent l'annotation @Test. @BeforeMethod fonctionne sur un test défini dans les classes Java.
@BeforeTest - BeforeTest s'exécute uniquement avant la balise indiquée dans le fichier testng.xml. @BeforeTest fonctionne sur le test défini dans testng.xml
Référence: - https://examples.javacodegeeks.com/enterprise-Java/testng/testng-beforetest- exemple/ Et http://howtesting.blogspot.com/2012/12/difference -between-beforetest-and.html
@BeforeTest
est exécuté avant que les beans ne soient injectés si un test d'intégration est exécuté. Contrairement à @BeforeMethod
qui est exécuté après l’injection de haricots. Je ne sais pas pourquoi cela a été conçu comme ça.