Aller au contenu principal
Version : Suivant

De la v28 à la v29

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Vous effectuez une mise à jour de Jest de la v28 vers la v29 ? Ce guide vous aidera à restructurer votre configuration et vos tests.

info

Consultez le changelog pour la liste complète des modifications.

note

Vous effectuez une mise à jour depuis une version antérieure ? Consultez le guide de migration de la v27 à la v28 ici.

Compatibilité​

Les versions de Node prises en charge sont 14.15, 16.10, 18.0 et supérieures.

Format des snapshots​

Comme annoncé dans l'article du blog Jest 28, Jest 29 a modifié le formatage par défaut des snapshots en {escapeString: false, printBasicPrototype: false}.

Pour conserver l'ancien comportement, définissez la propriété snapshotFormat comme suit :

+ snapshotFormat: {
+ escapeString: true,
+ printBasicPrototype: true
+ }

Mise à niveau de JSDOM​

jest-environment-jsdom a mis à niveau jsdom de la v19 à la v20.

info

Si vous utilisez jest-environment-jsdom, la version minimale de TypeScript requise est 4.5.

Notamment, jsdom@20 inclut la prise en charge de crypto.getRandomValues(), ce qui signifie que des packages comme uuid et nanoid, qui ne fonctionnaient pas correctement dans Jest@28, peuvent désormais fonctionner sans polyfills supplémentaires.

pretty-format​

Le plugin ConvertAnsi a été retiré du package pretty-format au profit de jest-serializer-ansi-escapes.

jest-mock​

L'exportation des types utilitaires Mocked* depuis le package jest-mock a changé. MaybeMockedDeep et MaybeMocked sont désormais exportés respectivement sous les noms Mocked et MockedShallow ; seules les variantes deep mock de MockedClass, MockedFunction et MockedObject sont exposées.

TypeScript​

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

info

Les exemples TypeScript de cette page ne fonctionneront comme documenté que si vous importez explicitement les API Jest :

import {expect, jest, test} from '@jest/globals';

Consultez le guide Premiers pas pour plus de détails sur la configuration de Jest avec TypeScript.

jest.mocked()​

La méthode utilitaire jest.mocked() encapsule désormais par défaut les types des membres profonds de l'objet passé. Si vous utilisiez cette méthode avec true comme second argument, supprimez-le pour éviter les erreurs de type :

- const mockedObject = jest.mocked(someObject, true);
+ const mockedObject = jest.mocked(someObject);

Pour retrouver l'ancien comportement shallow mock, passez {shallow: true} comme second argument :

- const mockedObject = jest.mocked(someObject);
+ const mockedObject = jest.mocked(someObject, {shallow: true});