From v28 to v29
Upgrading Jest from v28 to v29? This guide aims to help refactoring your configuration and tests.
See changelog for the full list of changes.
Upgrading from an older version? You can see the upgrade guide from v27 to v28 here.
Compatibility
The supported Node versions are 14.15, 16.10, 18.0 and above.
Snapshot format
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
+ }
JSDOM upgrade
jest-environment-jsdom
has upgraded jsdom
from v19 to v20.
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 uuid
and nanoid
, which doesn't work properly in Jest@28, can work without extra polyfills.