Aller au contenu

Les tests unitaires

Test unitaire de base

Imaginons qu'on veuille tester la fonction Doubler() suivante :

public class MaClasse {

    public static Integer Doubler(int nombre) {
        return nombre * 2;
    }

}

Quelques étapes seront nécessaires :

1. Écrire la classe de test

Créez une classe (ex. TestMaClasse) sous le dossier src/test/java avec la test unitaire

public class TestMaClasse {

    @Test
    public void TesterDoubler() {
        assert MaClasse.Doubler(4) == 8;
        assert MaClasse.Doubler(-4) == -8;
    }

}

2. Importer la librairie JUnit6

Vous remarquerez que @Test est en rouge et comporte une erreur. Il faudra importer la librairie JUnit6.

et l'importation devrait se faire automatiquement en haut du fichier, en plus d'ajouter la librairie avec maven dans le fichier pom.xml.

import org.junit.jupiter.api.Test;

public class TestMaClasse {

    @Test
    public void TesterDoubler() {
        assert MaClasse.Doubler(4) == 8;
        assert MaClasse.Doubler(-4) == -8;
    }

}

3. Lancer les tests unitaires manuellement

On pourra lancer un seul ou tous les tests unitaires en utilisant les symboles verts en marge. Le résultat apparaitra au bas de l'écran.

Lancer automatiquement les tests unitaires

Il est possible de lancer les tests automatiquement dès que le code est modifié. Cette fonction peut être utile pour s'assurer que les changements ne sont pas brisés.

Dans la fenêtre de résultat de tests, cochez l'option pour rouler automatiquement les tests tant que la fenêtre est ouverte.

Forcer la réussite des tests avant l'exécution du programme

Finalement, on peut également forcer la réussite des tests avant que le programme démarre. Ceci oblige le développeur à ne pas se créer de dette technique.

Maintenant, si nos tests unitaires échouent, le programme ne va pas démarrer.