Jest

Testing 🟢 Junior

Définition

Framework de test JavaScript créé chez Meta, tout-en-un : runner, assertions, mocks et couverture. Jest 30, publié le 4 juin 2025, est annoncé plus rapide et moins gourmand en mémoire (jusqu'à 37 % de temps et 77 % de mémoire en moins sur une grosse base TypeScript), abandonne Node 14, 16, 19 et 21, exige TypeScript 5.4 minimum et passe à jsdom 26.

Analogie

Comme une boite a outils complète : vous avez le marteau, le tournevis et le mètre dans le même kit, sans rien installer de plus.

Exemple de code

// math.test.js (Jest 30)
describe('Math utils', () => {
  test('multiply', () => {
    expect(multiply(3, 4)).toBe(12);
  });
  test('spy auto-restauré (mot-clé using, Jest 30)', () => {
    using spy = jest.spyOn(console, 'warn');
    doSomething();
    expect(spy).toHaveBeenCalled();
  }); // le spy est restauré à la fin du bloc
});

Cas d'usage

Projets React ou Node.js existants qui veulent un framework complet et une compatibilité maximale avec l'écosystème (Babel, CommonJS).

Anti-pattern

Rester sur Jest 29 avec des alias expect supprimés en v30, ou choisir Jest pour un projet Vite/ESM pur où Vitest s'intègré sans configuration.
#testing#tooling#react

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre