Skip to content

expect

La fonction expect() est un élément clé des frameworks de test comme Vitest, Jest, et d'autres. Elle est utilisée pour faire des assertions sur des valeurs dans vos tests, permettant de vérifier que le code se comporte comme prévu. Voici quelques exemples courants d'utilisation de expect() pour faire des tests :

1. Vérification de l'Égalité

  • toBe: Utilisé pour comparer des valeurs primitives (comme des nombres, des chaînes de caractères).

    javascript
    expect(2 + 2).toBe(4);
    expect('Hello').toBe('Hello');
    expect(2 + 2).toBe(4);
    expect('Hello').toBe('Hello');
  • toEqual: Utilisé pour comparer des objets ou des tableaux de manière récursive.

    javascript
    expect({ name: 'John' }).toEqual({ name: 'John' });
    expect([1, 2, 3]).toEqual([1, 2, 3]);
    expect({ name: 'John' }).toEqual({ name: 'John' });
    expect([1, 2, 3]).toEqual([1, 2, 3]);

2. Vérifications sur les Vérités et les Falsitudes

  • toBeTruthy: Vérifie que la valeur est "truthy" (une valeur qui se convertit à true en JavaScript).

    javascript
    expect('Hello').toBeTruthy();
    expect(1).toBeTruthy();
    expect('Hello').toBeTruthy();
    expect(1).toBeTruthy();
  • toBeFalsy: Vérifie que la valeur est "falsy" (une valeur qui se convertit à false en JavaScript).

    javascript
    expect(0).toBeFalsy();
    expect(null).toBeFalsy();
    expect(0).toBeFalsy();
    expect(null).toBeFalsy();

3. Vérifications sur les Tableaux

  • toContain: Vérifie si un tableau contient un élément spécifique.

    javascript
    expect([1, 2, 3]).toContain(2);
    expect(['apple', 'banana']).toContain('banana');
    expect([1, 2, 3]).toContain(2);
    expect(['apple', 'banana']).toContain('banana');

4. Vérifications sur les Exceptions

  • toThrow: Vérifie qu'une fonction lance une exception.

    javascript
    function throwError() {
      throw new Error('Erreur!');
    }
    expect(throwError).toThrow();
    expect(throwError).toThrow('Erreur!');
    function throwError() {
      throw new Error('Erreur!');
    }
    expect(throwError).toThrow();
    expect(throwError).toThrow('Erreur!');

5. Vérifications sur les Promesses

  • resolves / rejects: Utilisé pour travailler avec des promesses, pour vérifier qu'elles sont résolues ou rejetées.

    javascript
    // Pour une promesse qui doit être résolue
    await expect(Promise.resolve('success')).resolves.toBe('success');
    
    // Pour une promesse qui doit être rejetée
    await expect(Promise.reject(new Error('fail'))).rejects.toThrow('fail');
    // Pour une promesse qui doit être résolue
    await expect(Promise.resolve('success')).resolves.toBe('success');
    
    // Pour une promesse qui doit être rejetée
    await expect(Promise.reject(new Error('fail'))).rejects.toThrow('fail');

6. Vérifications sur les Nombres

  • toBeGreaterThan, toBeGreaterThanOrEqual, toBeLessThan, toBeLessThanOrEqual: Utilisé pour comparer des nombres.

    javascript
    expect(10).toBeGreaterThan(3);
    expect(10).toBeGreaterThanOrEqual(10);
    expect(3).toBeLessThan(10);
    expect(3).toBeLessThanOrEqual(3);
    expect(10).toBeGreaterThan(3);
    expect(10).toBeGreaterThanOrEqual(10);
    expect(3).toBeLessThan(10);
    expect(3).toBeLessThanOrEqual(3);

7. Vérification des Types

  • toBeInstanceOf: Vérifie si un objet est une instance d'une classe spécifique.

    javascript
    class MyClass {}
    expect(new MyClass()).toBeInstanceOf(MyClass);
    class MyClass {}
    expect(new MyClass()).toBeInstanceOf(MyClass);