diff --git a/docs/docs/guide/testing.md b/docs/docs/guide/testing.md index 02d61ef7af5..942c73e31f6 100644 --- a/docs/docs/guide/testing.md +++ b/docs/docs/guide/testing.md @@ -18,10 +18,16 @@ To be sure, check if your `jest.config.js` file contains: ```js ... preset: 'react-native', -setupFiles: ['./jest-setup.js'], +setupFilesAfterEnv: ['./jest-setup.js'], ... ``` +:::caution + +If you use Jest in a version **older than 28**, you should set `setupFiles` property instead of `setupFilesAfterEnv` + +::: + If you have custom babel configuration for testing, make sure that Reanimated's babel plugin is enabled for that environment. ## API diff --git a/docs/versioned_docs/version-2.2.x/testing.md b/docs/versioned_docs/version-2.2.x/testing.md index 9a6f8e5e39c..e34a7cd4f46 100644 --- a/docs/versioned_docs/version-2.2.x/testing.md +++ b/docs/versioned_docs/version-2.2.x/testing.md @@ -18,10 +18,16 @@ To be sure, check if your `jest.config.js` file contains: ```js ... preset: 'react-native', -setupFiles: ['./jest-setup.js'], +setupFilesAfterEnv: ['./jest-setup.js'], ... ``` +:::caution + +If you use Jest in a version **older than 28**, you should set `setupFiles` property instead of `setupFilesAfterEnv` + +::: + If you have custom babel configuration for testing, make sure that Reanimated's babel plugin is enabled for that environment. ## API diff --git a/docs/versioned_docs/version-2.3.x/guide/testing.md b/docs/versioned_docs/version-2.3.x/guide/testing.md index 9a6f8e5e39c..e34a7cd4f46 100644 --- a/docs/versioned_docs/version-2.3.x/guide/testing.md +++ b/docs/versioned_docs/version-2.3.x/guide/testing.md @@ -18,10 +18,16 @@ To be sure, check if your `jest.config.js` file contains: ```js ... preset: 'react-native', -setupFiles: ['./jest-setup.js'], +setupFilesAfterEnv: ['./jest-setup.js'], ... ``` +:::caution + +If you use Jest in a version **older than 28**, you should set `setupFiles` property instead of `setupFilesAfterEnv` + +::: + If you have custom babel configuration for testing, make sure that Reanimated's babel plugin is enabled for that environment. ## API diff --git a/docs/versioned_docs/version-2.5.x/guide/testing.md b/docs/versioned_docs/version-2.5.x/guide/testing.md index 02d61ef7af5..942c73e31f6 100644 --- a/docs/versioned_docs/version-2.5.x/guide/testing.md +++ b/docs/versioned_docs/version-2.5.x/guide/testing.md @@ -18,10 +18,16 @@ To be sure, check if your `jest.config.js` file contains: ```js ... preset: 'react-native', -setupFiles: ['./jest-setup.js'], +setupFilesAfterEnv: ['./jest-setup.js'], ... ``` +:::caution + +If you use Jest in a version **older than 28**, you should set `setupFiles` property instead of `setupFilesAfterEnv` + +::: + If you have custom babel configuration for testing, make sure that Reanimated's babel plugin is enabled for that environment. ## API diff --git a/src/reanimated2/jestUtils.ts b/src/reanimated2/jestUtils.ts index 16df51409ce..69e94bb5146 100644 --- a/src/reanimated2/jestUtils.ts +++ b/src/reanimated2/jestUtils.ts @@ -188,7 +188,15 @@ export const advanceAnimationByFrame = (count) => { }; export const setUpTests = (userConfig = {}) => { - const expect = require('expect'); + let expect; + try { + expect = require('expect'); + } catch (_) { + // for Jest in version 28+ + const { expect: expectModule } = require('@jest/globals'); + expect = expectModule; + } + require('setimmediate'); frameTime = Math.round(1000 / config.fps);