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 Test

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

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

Code Explication

  • Code Ligne 11: Annotez votre classe de test en utilisant @runWith(Parameterized.class).
  • Code Ligne 13: Déclarer la variable 'firstNumber' comme privée et saisir comme int.
  • Code Ligne 14: Déclarer la variable 'secondNumber' comme privée et saisir comme int.
  • Code Ligne 15: Déclarer la variable 'expectedResult' comme privée et saisir comme int.
  • Code Ligne 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 Test

É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 Test

Code Ligne 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.

Code Ligne 30: L'utilisation de @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 Test

Code Explication:

  • Code Ligne 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.
  • Code Ligne 36: Utilisation de l'annotation @Test pour créer notre test.
  • Code Ligne 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 Test

Code Explication:

  • Code Ligne 8: Déclarer la méthode principale du test de classe qui exécutera notre JUnit test.
  • Code Ligne 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).
  • Code Ligne 11: Traitement du résultat à l'aide de la boucle for et impression du résultat échoué.
  • Code Ligne 13: Impression du résultat réussi.

Sortie :

Voici le résultat qui indique un test réussi sans aucun échec. trace comme indiqué ci-dessous :

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

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

Résumez cet article avec :