Médiaforma

Java – Test unitaires avec Junit

Print Friendly

JUnit est un framework open source pour le développement et l’exécution de tests unitaires.

Ce framework est déjà installé dans NetBeans. Vous pouvez donc l’utiliser immédiatement.

 

Commencez par créer un nouveau projet de type Java Application avec classe Main. Donnez-lui le nom testjuint.

Ajoutez la classe Calc suivante à ce projet :

package testjunit;
public class Calc {
  public long add(int a, int b) {
    return a+b;
  }
}

Dans le volet Projects, cliquez du bouton droit sur Calc.java, pointez Tools et cliquez sur Create/Update Tests. Le package testjunit et la classe CalcTest sont créés par NetBeans :

 

 

Voici le code de la classe CalcTest :

package testjunit;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

public class CalcTest {

    public CalcTest() {
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    @Test
    public void testAdd() {
        System.out.println("add");
        int a = 0;
        int b = 0;
        Calc instance = new Calc();
        long expResult = 0L;
        long result = instance.add(a, b);
        assertEquals(expResult, result);
    }

}

Quelques remarques sur le code généré dans la méthode testAdd().

Les variables int a et b sont initialisées à 0, une instance de la classe Calc est créée, la variable expResult (résultat attendu) est initialisée à 0 et le résultat de la méthode add(a,b) est mémorisé dans la variable result :

int a = 0;
int b = 0;
Calc instance = new Calc();
long expResult = 0L;
long result = instance.add(a, b);

 

L’instruction suivante teste si expResult est égal à result :

assertEquals(expResult, result);

 

Dans le volet Projects, cliquez du bouton droit sur le package testJunit, sous Test Packages et sélectionnez Compile Package dans le menu (vous pouvez également appuyer sur F9).

Cliquez à nouveau du bouton droit sur le package testJunit, sous Test Packages et sélectionnez Test Package dans le menu (vous pouvez également appuyer sur Ctrl + F6).

Le test assertEquals() a bien réussi, comme en atteste le volet Output :

 

 

En complément de la méthode AssertEquals(), vous pourriez également utiliser les méthodes suivantes : assertTrue(), assertFalse() et fail().

Reportez-vous à la page http://junit.sourceforge.net/javadoc/org/junit/Assert.html pour en savoir plus à leur sujet.

 

Exercice

Utilisez les méthodes assertTrue() et assertFalse() pour tester si add(4,6) retourne bien la valeur 6.

Solution

int a = 4;
int b = 2;
Calc instance = new Calc();
long expResult = 6;
long result = instance.add(a, b);
assertTrue("Le résultat est bien conforme à ce qui était attendu",expResult == result);

int a = 4;
int b = 2;
Calc instance = new Calc();
long expResult = 6;
long result = instance.add(a, b);
assertFalse("expResult et result sont bien identiques",expResult != result);
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply