TestNG - Annotations de base
La manière traditionnelle d'indiquer les méthodes de test dans JUnit 3 est de préfixer leurs noms par test. C'est une méthode très efficace pour marquer certaines méthodes d'une classe comme ayant une signification particulière, mais la dénomination ne s'adapte pas très bien (et si nous voulons ajouter plus de balises pour différents frameworks?) Et est plutôt inflexible (et si nous voulez passer des paramètres supplémentaires au cadre de test?).
Des annotations ont été officiellement ajoutées au langage Java dans JDK 5, et TestNG a fait le choix d'utiliser des annotations pour annoter les classes de test.
Voici la liste des annotations prises en charge par TestNG -
Sr.No. | Annotation et description |
---|---|
1 | @BeforeSuite La méthode annotée ne sera exécutée qu'une seule fois avant que tous les tests de cette suite ne soient exécutés. |
2 | @AfterSuite La méthode annotée ne sera exécutée qu'une seule fois après l'exécution de tous les tests de cette suite. |
3 | @BeforeClass La méthode annotée ne sera exécutée qu'une seule fois avant que la première méthode de test de la classe actuelle ne soit appelée. |
4 | @AfterClass La méthode annotée ne sera exécutée qu'une seule fois après l'exécution de toutes les méthodes de test de la classe actuelle. |
5 | @BeforeTest La méthode annotée sera exécutée avant l'exécution de toute méthode de test appartenant aux classes à l'intérieur de la balise <test>. |
6 | @AfterTest La méthode annotée sera exécutée après l'exécution de toutes les méthodes de test appartenant aux classes à l'intérieur de la balise <test>. |
sept | @BeforeGroups La liste des groupes que cette méthode de configuration exécutera avant. Il est garanti que cette méthode s'exécutera peu de temps avant que la première méthode de test appartenant à l'un de ces groupes ne soit appelée. |
8 | @AfterGroups La liste des groupes après lesquels cette méthode de configuration s'exécutera. Cette méthode est garantie de s'exécuter peu de temps après que la dernière méthode de test appartenant à l'un de ces groupes est appelée. |
9 | @BeforeMethod La méthode annotée sera exécutée avant chaque méthode de test. |
dix | @AfterMethod La méthode annotée sera exécutée après chaque méthode de test. |
11 | @DataProvider Marque une méthode comme fournissant des données pour une méthode d'essai. La méthode annotée doit renvoyer un objet [] [], où chaque objet [] peut se voir attribuer la liste des paramètres de la méthode de test. La méthode @Test qui souhaite recevoir des données de ce DataProvider doit utiliser un nom dataProvider égal au nom de cette annotation. |
12 | @Factory
Marque une méthode comme une fabrique qui renvoie des objets qui seront utilisés par TestNG comme classes de test. La méthode doit renvoyer Object []. |
13 | @Listeners Définit les écouteurs sur une classe de test. |
14 | @Parameters Décrit comment passer des paramètres à une méthode @Test. |
15 | @Test Marque une classe ou une méthode comme faisant partie du test. |
Avantages de l'utilisation des annotations
Voici quelques-uns des avantages de l'utilisation des annotations -
TestNG identifie les méthodes qui l'intéressent, en recherchant des annotations. Par conséquent, les noms de méthode ne sont limités à aucun modèle ou format.
Nous pouvons passer des paramètres supplémentaires aux annotations.
Les annotations sont fortement typées, de sorte que le compilateur signalera immédiatement toute erreur.
Les classes de test n'ont plus besoin d'étendre quoi que ce soit (comme TestCase, pour JUnit 3).