id | title |
---|---|
upgrading-to-jest29 |
From v28 to v29 |
Upgrading Jest from v28 to v29? This guide aims to help refactoring your configuration and tests.
:::info
See changelog for the full list of changes.
:::
:::note
Upgrading from an older version? You can see the upgrade guide from v27 to v28 here.
:::
The supported Node versions are 14.15, 16.10, 18.0 and above.
As announced in the Jest 28 blog post, Jest 29 has changed the default snapshot formatting to {escapeString: false, printBasicPrototype: false}
.
If you want to keep the old behavior, you can set the snapshotFormat
property to:
+ snapshotFormat: {
+ escapeString: true,
+ printBasicPrototype: true
+ }
jest-environment-jsdom
has upgraded jsdom
from v19 to v20. Note that if you use jest-environment-jsdom
, the minimum TypeScript version is set to 4.5
.
Notably, jsdom@20
includes support for crypto.getRandomValues()
, which means packages like jsdom
and nanoid
, which doesn't work properly in Jest@28, can work without extra polyfills.
Exports of Mocked*
utility types changed. MaybeMockedDeep
and MaybeMocked
now are exported as Mocked
and MockedShallow
respectively; only deep mocked variants of MockedClass
, MockedFunction
and MockedObject
are exposed.
ConvertAnsi
plugin is removed in favour of jest-serializer-ansi-escapes
.