Appearance
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).
javascriptexpect(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.
javascriptexpect({ 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).javascriptexpect('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).javascriptexpect(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.
javascriptexpect([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.
javascriptfunction 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.
javascriptexpect(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.
javascriptclass MyClass {} expect(new MyClass()).toBeInstanceOf(MyClass);
class MyClass {} expect(new MyClass()).toBeInstanceOf(MyClass);