Da v28 para a v29
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Fazendo upgrade do Jest da v28 para a v29? Este guia ajudará na refatoração da sua configuração e testes.
Veja o changelog para a lista completa de alterações.
Fazendo upgrade de uma versão mais antiga? Veja o guia de atualização da v27 para v28 aqui.
Compatibilidade
As versões do Node suportadas são 14.15, 16.10, 18.0 e superiores.
Formato de snapshot
Como anunciado na postagem do blog Jest 28, o Jest 29 alterou a formatação padrão de snapshots para {escapeString: false, printBasicPrototype: false}.
Se quiser manter o comportamento anterior, defina a propriedade snapshotFormat como:
+ snapshotFormat: {
+ escapeString: true,
+ printBasicPrototype: true
+ }
Atualização do JSDOM
O jest-environment-jsdom atualizou o jsdom da v19 para v20.
Se você usa jest-environment-jsdom, a versão mínima do TypeScript foi definida como 4.5.
Importante: o jsdom@20 inclui suporte para crypto.getRandomValues(), então pacotes como uuid e nanoid, que não funcionavam corretamente no Jest@28, agora operam sem polyfills adicionais.
pretty-format
O plugin ConvertAnsi foi removido do pacote pretty-format em favor do jest-serializer-ansi-escapes.
jest-mock
As exportações dos tipos utilitários Mocked* do pacote jest-mock mudaram. MaybeMockedDeep e MaybeMocked agora são exportados como Mocked e MockedShallow respectivamente; apenas as variantes de mock profundo de MockedClass, MockedFunction e MockedObject são expostas.
TypeScript
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Os exemplos em TypeScript desta página só funcionarão conforme documentado se você importar explicitamente as APIs do Jest:
import {expect, jest, test} from '@jest/globals';
Consulte o guia Primeiros Passos para detalhes sobre como configurar o Jest com TypeScript.
jest.mocked()
O método auxiliar jest.mocked() agora encapsula tipos de membros profundos do objeto passado por padrão. Se você usou o método com true como segundo argumento, remova-o para evitar erros de tipo:
- const mockedObject = jest.mocked(someObject, true);
+ const mockedObject = jest.mocked(someObject);
Para manter o comportamento antigo de mock superficial, passe {shallow: true} como segundo argumento:
- const mockedObject = jest.mocked(someObject);
+ const mockedObject = jest.mocked(someObject, {shallow: true});