Introduction
TestNG est un framework de test unitaire qui s’est inspiré des frameworks de test unitaires
Junit et Nunit et qui a ajouté de nouvelles fonctionnalités par rapport à ces frameworks.
TestNG devient de plu en plus populaire et gagne du terrain par rapport à ses concurrents.
Dans cet atelier nous allons présenter la démarche nécessaire pour installer TestNG sur Eclipse
et lancer par après un projet Maven simple pour l’initiation. Pour réaliser cet atelier, on aura
besoin de l’IDE Eclipse.
Junit et Nunit et qui a ajouté de nouvelles fonctionnalités par rapport à ces frameworks.
TestNG devient de plu en plus populaire et gagne du terrain par rapport à ses concurrents.
Dans cet atelier nous allons présenter la démarche nécessaire pour installer TestNG sur Eclipse
et lancer par après un projet Maven simple pour l’initiation. Pour réaliser cet atelier, on aura
besoin de l’IDE Eclipse.
Installation TestNG sur Eclipse
Pour installer TestNG sur Eclipse, on va utiliser le Marketplace. Pour ce faire, nous allons
choisir dans le menu “Help” de Eclipse le sous-menu “Eclipse Marketplace” et nous cherchons
avec le mot “TestNG”, après on valide l’installation et on redémarre Eclipse pour que les
changements puissent avoir lieu. Maintenant que TestNG est ajouté à Eclipse, nous pouvons
dans ce cas démarrer des projets de test sous contrôle de cet outil. Pour l’exemple que nous
allons présenter, nous créons un projet maven sous Eclipse comme détaillé dans la section suivante.
choisir dans le menu “Help” de Eclipse le sous-menu “Eclipse Marketplace” et nous cherchons
avec le mot “TestNG”, après on valide l’installation et on redémarre Eclipse pour que les
changements puissent avoir lieu. Maintenant que TestNG est ajouté à Eclipse, nous pouvons
dans ce cas démarrer des projets de test sous contrôle de cet outil. Pour l’exemple que nous
allons présenter, nous créons un projet maven sous Eclipse comme détaillé dans la section suivante.
Projet TestNG
Nous commençons, sous Eclipse, par créer un nouveau projet Maven. Le fichier “pom.xml”
se présentera comme suit :
se présentera comme suit :
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TestNG</groupId>
<artifactId>knafil.testng</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>knafil.testng</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Maintenant que la dépendance est ajoutée au fichier pom et que le plugin de TestNG est
installé sur Eclipse, on procède à la création de notre classe Java appelée “Calculette.java”
ayant pour code :
installé sur Eclipse, on procède à la création de notre classe Java appelée “Calculette.java”
ayant pour code :
package org.knafil.testng;
public class Calculette {
public double add(double n1, double n2) {
double c;
c= n1+n2;
return c;
}
}
Cette classe “Calculette.java” contient une seule méthode “add” qui permet de retourner
l’addition de deux nombres passés en paramètre. Ensuite, nous créons la classe de test de la
classe “Calculette.java” appelée “CalculetteTest.java” de la manière suivante. Nous cliquons
avec le bouton droit sur le nom de projet, nous choisissons “Autre ou Other”, dans wizard nous
écrivons “TestNG” que l’on va sélectionner et on appuie sur “Next”.
l’addition de deux nombres passés en paramètre. Ensuite, nous créons la classe de test de la
classe “Calculette.java” appelée “CalculetteTest.java” de la manière suivante. Nous cliquons
avec le bouton droit sur le nom de projet, nous choisissons “Autre ou Other”, dans wizard nous
écrivons “TestNG” que l’on va sélectionner et on appuie sur “Next”.
Après avoir appuyer sur “Next” la fenêtre suivante apparaît et nous propose de choisir
les méthodes à tester, nous cochons alors la méthode “add” et on appuie sur “Finish”.
les méthodes à tester, nous cochons alors la méthode “add” et on appuie sur “Finish”.
Le code de la classe “CalculetteTest.java” est comme suit :
package org.knafil.testng;
import org.testng.Assert;
import org.testng.annotations.Test;
public class CalculetteTest {
@Test
public void add() {
Calculette calc = new Calculette();
Assert.assertEquals(calc.add(12, 8), 20.0);
}
}
Au niveau de la classe CalculetteTest, nous insérons l’annotation @Test juste avant la méthode
“add" à tester. Dans le code, nous instantions un objet “calc” de type Calculette et nous faisons
appel à la méthode de test “Assert.assertEquals” qui permet de comparer si ses deux paramètres
sont identiques. Ici nous passons en paramètre les deux nombres “doubles” 12 et 8, pour le
deuxième paramètre nous passons le résultat attendu qui est le nombre double 20.0.
Au niveau de la classe CalculetteTest, nous insérons l’annotation @Test juste avant la méthode
“add" à tester. Dans le code, nous instantions un objet “calc” de type Calculette et nous faisons
appel à la méthode de test “Assert.assertEquals” qui permet de comparer si ses deux paramètres
sont identiques. Ici nous passons en paramètre les deux nombres “doubles” 12 et 8, pour le
deuxième paramètre nous passons le résultat attendu qui est le nombre double 20.0.
Le code étant créé, on fait bouton droit sur la classe de test “Caclcultte.java” et on choisit :
“Run as > TestNG Test”
“Run as > TestNG Test”
Après validation le résultat de test s’affiche comme suit :
Une fois le test passé avec succès, le message apparaît en vert avec le temps d’exécution du test.
Groupe de test sous TestNG
Des fois il semble être nécessaire de lancer un groupe de test choisi parmi plusieurs méthodes
de la classe à tester, parce que sinon c’est toutes les méthodes qui vont être testées dans ce cas.
Supposons que nous disposons maintenant de quatre méthodes au niveau de notre classe
“Calculette.java” qui se présentent comme suit :
de la classe à tester, parce que sinon c’est toutes les méthodes qui vont être testées dans ce cas.
Supposons que nous disposons maintenant de quatre méthodes au niveau de notre classe
“Calculette.java” qui se présentent comme suit :
package org.knafil.testng;
public class Calculette {
public double add(double n1, double n2) {
double c;
c= n1+n2;
return c;
}
public double soustraire(double n1, double n2) {
double c;
c = n1 - n2;
return c;
}
public double produit(double n1, double n2) {
double c;
c= n1 * n2;
return c;
}
public double diviser(double n1, double n2) {
double c;
c= n1 / n2;
return c;
}
}
Et que la classe de test “CalculetteTest.java”, après avoir annoté le groupe de test, se présente
comme suit :
comme suit :
package org.knafil.testng;
import org.testng.Assert;
import org.testng.annotations.Test;
public class CalculetteTest {
@Test(groups = { "test-group" })
public void add() {
Calculette calc = new Calculette();
Assert.assertEquals(calc.add(12, 8),20.0);
}
@Test
public void produit() {
Calculette calc = new Calculette();
Assert.assertEquals(calc.produit(12, 8),96.0);
}
@Test(groups = { "test-group" })
public void soustraire() {
Calculette calc = new Calculette();
Assert.assertEquals(calc.soustraire(12, 8),4.0);
}
@Test
public void division() {
Calculette calc = new Calculette();
Assert.assertEquals(calc.diviser(16, 8),2.0);
}
}
Ici on a choisi à titre d’exemple de définir un seul groupe de test au niveau des deux méthodes
“add” et “soustraire” appelé “test-group”. Si on lance le test TestNG de manière normale alors
c’est toutes les méthodes qui vont être testées, or nous voulons passer le test seulement pour les
deux méthodes “add” et “soustraire”. Pour ce faire nous allons créer une nouvelle configuration
sous Eclipse de la manière suivante. Tout d’abord, dans le menu “Run” de Eclipse, on choisit
“Run Configurations…”. Nous sélectionnons “TestNG” à partir de la liste des configurations
proposées.
“add” et “soustraire” appelé “test-group”. Si on lance le test TestNG de manière normale alors
c’est toutes les méthodes qui vont être testées, or nous voulons passer le test seulement pour les
deux méthodes “add” et “soustraire”. Pour ce faire nous allons créer une nouvelle configuration
sous Eclipse de la manière suivante. Tout d’abord, dans le menu “Run” de Eclipse, on choisit
“Run Configurations…”. Nous sélectionnons “TestNG” à partir de la liste des configurations
proposées.
On appuie ensuite sur l’icône en haut à gauche pour créer une nouvelle configuration.
Nous devons ici donner un nom au niveau du champ “Name”. Pour notre cas, on donne par
exemple le nom “CalculetteTestGroup”. Dans le champ “Project”, on appuie sur le bouton
“browse” et on choisit le nom de notre projet en cours qui est dans notre cas “knafil.testng”.
Après, nous sélectionnons le bouton radio “Groups” et en appuyant sur le bouton “Browse”
nous choisissons “test-group” et on valide.
Nous devons ici donner un nom au niveau du champ “Name”. Pour notre cas, on donne par
exemple le nom “CalculetteTestGroup”. Dans le champ “Project”, on appuie sur le bouton
“browse” et on choisit le nom de notre projet en cours qui est dans notre cas “knafil.testng”.
Après, nous sélectionnons le bouton radio “Groups” et en appuyant sur le bouton “Browse”
nous choisissons “test-group” et on valide.
Dans ce cas, le test s’exécute mais uniquement pour les deux méthodes annotées par le test
de groupe.
de groupe.
Commentaires
Enregistrer un commentaire