web-dev-qa-db-fra.com

Quelle est la différence entre BeforeTest et BeforeMethod dans TestNG

Les deux annotations sont exécutées avant le @test dans testNG, quelle est la différence entre deux d'entre elles.

6
Sameer Dev

@BeforeTest: Il appellera une seule fois, avant la méthode Test. 

@BeforeMethod Il appellera à chaque fois avant la méthode Test.

 Reference O/P Example

6
Ishita Shah

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
4
qaautodev

@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. 

1
Melad Ezzat

@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.

0
software testing

@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.

0
Sonal

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

0
nandal

@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.

0
nanachimi