Dans Junit, la suite de tests nous permet d'agréger 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 de création de Test Suite 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 suite de test, 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:
- Code Line 8: Déclarer la méthode principale du test de classe qui exécutera notre test JUnit.
- Ligne de code 9: exécution de 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 illustré à l'étape 3).
- Ligne de code 11: Traitement du résultat à l'aide de la boucle for et impression du résultat ayant échoué.
- Ligne de code 13: impression du résultat réussi.
Sortie: Voici la sortie qui montre le test réussi sans trace d'échec comme indiqué ci-dessous:
Exemple de la suite de tests JUnit
Prenons un exemple plus complexe
JunitTest.java
JunitTest.java est une classe simple annotée avec les annotations @RunWith et @Suite . Vous pouvez lister le nombre de .classes dans 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,})classe publique JunitTest {// Cette classe reste vide, elle n'est utilisée que comme support pour les annotations ci-dessus}
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 une suite dans la classe mentionnée ci-dessus.
package guru99.junit;import statique org.junit.Assert.assertEquals;import org.junit.Test;public class SuiteTest1 {public String message = "Saurabh";JUnitMessage junitMessage = nouveau JUnitMessage (message);@Test (attendu = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Le message Junit est en cours d'impression");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Salut!" + message;System.out.println ("Junit Hi Message est en cours d'impression");assertEquals (message, junitMessage.printHiMessage ());System.out.println ("Suite Test 2 est réussi" + message);}}
SuiteTest2.java
SuiteTest2.java est une autre classe de test similaire à SuiteTest1.java ayant 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 {@Testpublic void createAndSetName () {Chaîne attendue = "Y";Chaîne réelle = "Y";Assert.assertEquals (attendu, réel);System.out.println ("Suite Test 1 est réussi" + réel);}}
Production
Après avoir exécuté JunitTest .java qui contient une suite ayant test1.java et test2.java , vous obtiendrez la sortie ci-dessous:
Résumé
Dans ce didacticiel, vous avez appris en détail les bases du faisceau de tests et des suites de tests avec un exemple.
- Test harnais ou automatisation Le test 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 cadre 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 d'agréger tous les cas de test de nombreuses classes en un seul endroit et de les exécuter ensemble.