Aller au contenu principal
Version : 29.7

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 mise à niveau 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});