De v28 a v29
Atualizando Jest da v28 para a v29? Esse guia visa ajudar a refatorar sua configuração e testes.
Veja changelog para ver a lista completa de alterações.
Atualizar a partir de uma versão mais antiga? Você pode ver o guia de atualização da v27 a v28 aqui.
Compatibilidade
As versões do Node suportadas são 14.15, 16.10, 18.0 e superior.
Snapshot format
Como anunciado no Jest 28 blog post, Jest 29 alterou a formatação padrão de snapshot para {escapeString: false, printBasicPrototype: false}
.
If you want to keep the old behavior, you can set the snapshotFormat
property to:
+ snapshotFormat: {
+ escapeString: true,
+ printBasicPrototype: true
+ }
JSDOM upgrade
jest-environment-jsdom
atualizou a jsdom
de v19 para v20.
Se você usar jest-environment-jsdom
, a versão mínima do TypeScript é definida como 4.5
.
Notavelmente, jsdom@20
inclui suporte para cripto.getRandomValues()
o que significa pacotes como uid
e nanoid
, que não funciona corretamente em Jest@28, pode funcionar sem polyfills extras.
pretty-format
ConvertAnsi
plugin is removed from pretty-format
package in favour of jest-serializer-ansi-escapes
.
jest-mock
Exports of Mocked*
utility types from jest-mock
package have changed. MaybeMockedDeep
e MaybeMockked
agora são exportados como Mockked
e MockedShallow
respectivamente; apenas variantes simuladas profundas de MockedClass
, MockedFunction
e MockedObject
são expostas.
TypeScript
Os exemplos de TypeScript desta página só funcionarão como documentados se você importar explicitamente APIs do Jest:
import {expect, jest, test} from '@jest/globals';
Consulte o guia Iniciando para obter detalhes sobre como configurar Jest com TypeScript.
jest.mocked()
The jest.mocked()
helper method now wraps types of deep members of passed object by default. If you have used the method with true
as the second argument, remove it to avoid type errors:
- const mockedObject = jest.mocked(someObject, true);
+ const mockedObject = jest.mocked(someObject);
To have the old shallow mocked behavior, pass {shallow: true}
as the second argument:
- const mockedObject = jest.mocked(someObject);
+ const mockedObject = jest.mocked(someObject, {shallow: true});