Créez JUnit Suite de tests avec exemple : @RunWith @SuiteClasses
Dans Junit, la suite de tests nous permet de regrouper tous les cas de test de plusieurs classes en un seul endroit et de les exécuter ensemble.
Pour exécuter le test de la suite, vous devez annoter une classe à l'aide des annotations mentionnées ci-dessous :
- @Runwith(Suite.class)
- @SuiteClasses(test1.class,test2.class……) ou@Suite.SuiteClasses ({test1.class, test2.class……})
Avec les annotations ci-dessus, toutes les classes de test de la suite commenceront à s'exécuter une par une.
Étapes pour créer une suite de tests et Test Runner
Étape 1) Créez une classe de test simple (par exemple MyFirstClassTest) et ajoutez une méthode annotée avec @test.
Étape 2) Créez une autre classe de test à ajouter (par exemple MySecondClassTest) et créez une méthode annotée avec @test.
Étape 3) Pour créer une testSuite, vous devez d'abord annoter la classe avec @RunWith(Suite.class) et @SuiteClasses(class1.class2…..).
Étape 4) Créez une classe Test Runner pour exécuter notre suite de tests comme indiqué ci-dessous ;
Explication du code :
- Ligne de code 8 : Déclarer la méthode principale du test de classe qui exécutera notre JUnit test.
- Ligne de code 9 : Exécuter des cas de test à l'aide de JunitCore.runclasses qui prend le nom de la classe de test comme paramètre (dans l'exemple ci-dessus, vous utilisez TestSuiteExample.class présenté à l'étape 3).
- Ligne de code 11 : Traitement du résultat à l'aide de la boucle for et impression du résultat échoué.
- Ligne de code 13 : Impression du résultat réussi.
Sortie : Voici le résultat qui montre un test réussi sans trace d'échec, comme indiqué ci-dessous :
JUnit Exemple de suite de tests
Prenons un exemple plus complexe
JunitTest.java
JunitTest.java est une classe simple annotée avec @Courir avec et le @Suite annotations. Vous pouvez répertorier le nombre de .classes de la suite en tant que paramètres, comme indiqué ci-dessous :
package guru99.junit; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ SuiteTest1.class, SuiteTest2.class, }) public class JunitTest { // This class remains empty, it is used only as a holder for the above annotations }
SuiteTest1.java
SuiteTest1.java est une classe de test ayant une méthode de test pour imprimer un message comme indiqué ci-dessous. Vous utiliserez cette classe comme suite dans la classe mentionnée ci-dessus.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class SuiteTest1 { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage() { System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage() { message = "Hi!" + message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); System.out.println("Suite Test 2 is successful " + message); } }
SuiteTest2.java
SuiteTest2.java est une autre classe de test similaire à SuiteTest1.java avoir une méthode de test pour imprimer un message comme indiqué ci-dessous. Vous utiliserez cette classe comme suite dans JunitTest.java.
package guru99.junit; import org.junit.Assert; import org.junit.Test; public class SuiteTest2 { @Test public void createAndSetName() { String expected = "Y"; String actual = "Y"; Assert.assertEquals(expected, actual); System.out.println("Suite Test 1 is successful " + actual); } }
Sortie
Après avoir exécuté Test Junit.java qui contient une suite ayant test1.java et le test2.java, vous obtiendrez le résultat ci-dessous :
Résumé
Dans ce didacticiel, vous avez appris en détail les bases du harnais de tests et des suites de tests avec un exemple.
- Faisceau de test ou automatisation Contrôle de qualité est un logiciel ou un ensemble de logiciels qui permet à un utilisateur de tester des données avec plusieurs entrées et de contrôler l'exécution
- Le harnais de test permet en fait à un framework de test qui effectue tout le travail d'exécution de tests à l'aide d'une bibliothèque de tests et de génération d'un rapport de test.
- Dans Junit, la suite de tests nous permet de regrouper tous les cas de test de nombreuses classes en un seul endroit et de les exécuter ensemble.