JUnit Test paramétré avec exemple utilisant @Parameters

Qu’est-ce que le test paramétré dans Junit ?

Le test paramétré consiste à exécuter le même test encore et encore en utilisant des valeurs différentes. Cela aide les développeurs à gagner du temps lors de l'exécution du même test qui ne diffère que par leurs entrées et leurs résultats attendus.

À l'aide du test paramétré, on peut configurer une méthode de test qui récupère les données d'une source de données.

Considérons un test simple pour additionner différents nombres. Le code peut ressembler à –

Test paramétré dans Junit

L'approche ci-dessus conduit à beaucoup de redondance.

Nous avons besoin d'une approche simple et. En utilisant le test paramétré, vous pouvez simplement ajouter une méthode pour saisir 10 entrées de données et votre test s'exécutera 10 fois automatiquement.

Étapes pour créer un paramétré JUnit tester

Le code suivant montre un exemple de test paramétré. Il teste la méthode sum() de la classe Arithmetic :

Étape 1) Créez une classe. Dans cet exemple, nous allons saisir deux nombres en utilisant la méthode sum (int,int) qui renverra la somme des nombres donnés.

Étapes pour créer un paramétré JUnit Tests

Étape 2) Créer une classe de test paramétrée

Étapes pour créer un paramétré JUnit Tests

Explication du code

  • Ligne de code 11 : Annotez votre classe de test en utilisant @runWith(Parameterized.class).
  • Ligne de code 13 : Déclarer la variable 'firstNumber' comme privée et saisir comme int.
  • Ligne de code 14 : Déclarer la variable 'secondNumber' comme privée et saisir comme int.
  • Ligne de code 15 : Déclarer la variable 'expectedResult' comme privée et saisir comme int.
  • Ligne de code 16 : Déclarer la variable 'airthematic' comme privée et taper comme Airthematic.

@Courir avec(nom_classe.classe) : @Courir avec L'annotation est utilisée pour spécifier son nom de classe d'exécution. Si nous ne spécifions aucun type en paramètre, le runtime choisira Coureur de classe BlockJunit4 par défaut.

Cette classe est responsable des tests à exécuter avec une nouvelle instance de test. Il est chargé d'invoquer JUnit méthodes de cycle de vie telles que la configuration (ressources associées) et le démontage (ressources de libération).

Pour paramétrer, vous devez annoter à l'aide de @RunWith et transmettre la .class requise à tester

Étape 3) Créez un constructeur qui stocke les données de test. Il stocke 3 variables

Étapes pour créer un paramétré JUnit Tests

Étape 4) Créez une méthode statique qui génère et renvoie des données de test.

Étapes pour créer un paramétré JUnit Tests

Ligne de code 32,33 : Création d'un tableau bidimensionnel (fournissant des paramètres d'entrée pour l'ajout). En utilisant la méthode asList, nous convertissons les données en type List. Depuis, le type de retour de l’entrée de la méthode est la collection.

Ligne de code 30 : En utilisant @Paramètres annotation pour créer un ensemble de données d’entrée pour exécuter notre test.

La méthode statique identifiée par l'annotation @Parameters renvoie une collection où chaque entrée de la collection sera les données d'entrée pour une itération du test.

Considérez l'élément

1,2,3 {}

Ici

premierNuméro =1

deuxièmeNuméro=2

résultat attendu = 3

Ici, chaque élément du tableau sera transmis au constructeur, un à la fois, car la classe est instanciée plusieurs fois.

Étape 5) Le code complet

Étapes pour créer un paramétré JUnit Tests

Explication du code :

  • Ligne de code 25 : Utilisation de l'annotation @Before pour configurer les ressources (Airthematic.class ici). L'annotation @Before est utilisée ici pour s'exécuter avant chaque scénario de test. Il contient la condition préalable du test.
  • Ligne de code 36 : Utilisation de l'annotation @Test pour créer notre test.
  • Ligne de code 39 : Créer une instruction assert pour vérifier si notre somme est équivalente à ce que nous attendions.

Étape 6) Créez une classe d'exécuteur de tests pour exécuter un test paramétré :

Étapes pour créer un paramétré JUnit Tests

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 : En exécutant des cas de test à l'aide de JunitCore.runclasses, il prendra le nom de la classe de test comme paramètre (dans notre exemple, nous utilisons Airthematic.class).
  • 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 :

Étapes pour créer un paramétré JUnit Tests

Voir le résultat sur la console, qui montre l'addition de deux nombres :-

JUnit Test paramétré

Résumé

Le test paramétré permet au développeur d'exécuter le même test encore et encore en utilisant des valeurs différentes.

Annotations importantes à utiliser lors du paramétrage

  • @Courir avec
  • @Paramètres