Vai al contenuto principale
{ "message": "Versione: 29.7", "description": "" }

Dalla v28 alla v29

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

Stai aggiornando Jest dalla v28 alla v29? Questa guida ti aiuterà a rifattorizzare la tua configurazione e i test.

{ "message": "info", "description": "The default label used for the Info admonition (:::info)" }

Consulta il changelog per l'elenco completo delle modifiche.

nota

Stai aggiornando da una versione precedente? Puoi consultare la guida per l'aggiornamento dalla v27 alla v28 qui.

Compatibilità​

Le versioni di Node supportate sono 14.15, 16.10, 18.0 e superiori.

Formato degli snapshot​

Come annunciato nel blog post di Jest 28, Jest 29 ha modificato il formato predefinito degli snapshot impostandolo su {escapeString: false, printBasicPrototype: false}.

Per mantenere il comportamento precedente, imposta la proprietà snapshotFormat su:

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

Aggiornamento di JSDOM​

jest-environment-jsdom ha aggiornato jsdom dalla v19 alla v20.

{ "message": "info", "description": "The default label used for the Info admonition (:::info)" }

Se utilizzi jest-environment-jsdom, la versione minima di TypeScript è impostata a 4.5.

Da notare che jsdom@20 include il supporto per crypto.getRandomValues(), il che significa che pacchetti come uuid e nanoid, che non funzionavano correttamente in Jest@28, possono ora funzionare senza polyfill aggiuntivi.

pretty-format​

Il plugin ConvertAnsi è stato rimosso dal pacchetto pretty-format a favore di jest-serializer-ansi-escapes.

jest-mock​

Le esportazioni dei tipi utility Mocked* dal pacchetto jest-mock sono cambiate. MaybeMockedDeep e MaybeMocked sono ora esportati rispettivamente come Mocked e MockedShallow; sono esposte solo le varianti deep mocked di MockedClass, MockedFunction e MockedObject.

TypeScript​

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

{ "message": "info", "description": "The default label used for the Info admonition (:::info)" }

Gli esempi TypeScript in questa pagina funzioneranno come documentato solo se importi esplicitamente le API di Jest:

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

Consulta la guida Per iniziare per i dettagli su come configurare Jest con TypeScript.

jest.mocked()​

Il metodo helper jest.mocked() ora avvolge i tipi dei membri profondi dell'oggetto passato per impostazione predefinita. Se hai utilizzato il metodo con true come secondo argomento, rimuovilo per evitare errori di tipo:

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

Per ottenere il vecchio comportamento di shallow mocked, passa {shallow: true} come secondo argomento:

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