Following is the error I receive on running a Sample testcase:
Expected react-native/jest-preset to define transform[^.+.(bmp|gif|jpg|jpeg|mp4|png|psd|svg|webp)$] react-native/jest-preset contained different transformIgnorePatterns than expected FAIL ./App.test.js ● Test suite failed to run Cannot find module 'react-native/Libraries/LogBox/LogBox' from 'setup.js' at Resolver.resolveModule (node_modules/jest-expo/node_modules/jest-resolve/build/index.js:299:11) at Object.<anonymous> (node_modules/jest-expo/src/preset/setup.js:155:6)
My Testcase:
import React from 'react'; import renderer from 'react-test-renderer'; import App from './App'; describe('<App />', () => { it('has 1 child', () => { const tree = renderer.create(<App />).toJSON(); expect(tree.children.length).toBe(1); }); });
My jest configuration in package.json
:
"jest": { "preset": "jest-expo", "transformIgnorePatterns": [ "<rootDir>/node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)", "node_modules/(?!(react-native|my-project|react-native-button)/)" ] },
My dependencies in package.json
:
"jest": "^26.4.2", "jest-expo": "^39.0.0", "jest-react-native": "^18.0.0", "react-test-renderer": "^16.13.1",
expo version
: 37.0.0
react
: `16.9.0
react-native
: "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz"
Advertisement
Answer
Found the solution on the Expo thread mentioning the exact same issue here.
It looks like you’re using jest-expo v39 with a project running SDK37. LogBox was released with React Native 0.63 which is what SDK39 is using. Can you try running with v37.0.0 and see if that resolves the issue?