expect() et les Assertions

Dans les tests automatisés, expect() permet de vérifier qu’une valeur correspond au résultat attendu.

Cette technique est appelée :

expect() est très utilisé avec des outils comme :

1. Structure d’un test

Un test compare généralement :

expect(2 + 2).toBe(4);
Partie Rôle
expect() Valeur à tester
toBe() Comparaison
4 Résultat attendu

2. Tester une fonction

Les fonctions sont souvent testées avec expect().

function add(a, b) {

    return a + b;

}

expect(add(2, 3)).toBe(5);

Ici, le test vérifie si la fonction retourne bien :

5

3. toBe()

La méthode toBe() compare deux valeurs simples.

expect(10).toBe(10);

Cette méthode est souvent utilisée avec :

4. Échec d’un test

Si les valeurs sont différentes, le test échoue.

expect(2 + 2).toBe(5);

Échec test

> Expected: 5

> Received: 4

Le framework indique :

5. toEqual()

La méthode toEqual() est utilisée pour comparer des objets ou tableaux.

expect([1, 2]).toEqual([1, 2]);

Cette méthode compare le contenu des données.

6. Pourquoi toEqual() existe

En JavaScript, les tableaux et objets sont comparés par référence.

console.log([1, 2] === [1, 2]);

Références

> false

toEqual() permet donc de comparer le contenu réel.

7. Tester un tableau

function getNumbers() {

    return [1, 2, 3];

}

expect(getNumbers()).toEqual([1, 2, 3]);

8. Tester un objet

function getUser() {

    return {

        name: "Fred",
        age: 33

    };

}

expect(getUser()).toEqual({

    name: "Fred",
    age: 33

});

9. Cas nominal

Le cas nominal représente le comportement normal attendu.

expect(add(1, 1)).toBe(2);

Ce type de test valide le scénario principal.

10. Cas d’erreur

Un bon test vérifie aussi les cas particuliers.

expect(add(0, 0)).toBe(0);

Tester plusieurs cas améliore la fiabilité du programme.

11. Plusieurs assertions

Une fonction peut contenir plusieurs assertions.

expect(add(1, 1)).toBe(2);

expect(add(2, 2)).toBe(4);

expect(add(5, 5)).toBe(10);

12. Organisation des tests

Les tests sont souvent regroupés dans des fonctions.

function testAdd() {

    expect(add(1, 1)).toBe(2);

    expect(add(2, 2)).toBe(4);

}

Cette approche améliore la lisibilité du projet.

13. Assertions lisibles

Un bon test doit être simple à comprendre.

expect(total).toBe(10);

Les tests servent aussi de documentation du comportement attendu.

14. Bonnes pratiques

Résumé rapide

Concept Utilité
expect() Préparer un test
Assertion Validation automatique
toBe() Comparer des valeurs simples
toEqual() Comparer objets et tableaux
Cas nominal Scénario principal
Cas d’erreur Scénarios particuliers
Échec test Différence entre attendu et reçu