Jest and Expo - tried everything!

Please provide the following:

  1. SDK Version: 35
  2. Platforms(Android/iOS/web/all): All - error occurs on Nodejs on Ubuntu 18

I’m trying to render a react component which contains a flatlist and it’s blowing up with a very unuseful message. Does anyone here have any experience of debugging these sort of tests? It seems ‘this.props’ is never set?

update: I tried another component (SectionList). Same result, diffrent stack trace.

Line 441
constructor(props: Props<ItemT>) { super(props); this._checkProps(this.props);

Stack trace:

TypeError: Cannot read property ‘getItem’ of undefined

  at FlatList._checkProps (node_modules/react-native/Libraries/Lists/FlatList.js:498:7)
  at new FlatList (node_modules/react-native/Libraries/Lists/FlatList.js:443:10)
  at constructClassInstance (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:4103:18)
  at updateClassComponent (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:8309:5)
  at beginWork$1 (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:10082:16)
  at performUnitOfWork (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14708:12)
  at workLoopSync (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14681:22)
  at performSyncWorkOnRoot (node_modules/react-test-renderer/cjs/react-test-renderer.development.js:14380:11)
  at node_modules/react-test-renderer/cjs/react-test-renderer.development.js:2063:24
  at unstable_runWithPriority (node_modules/scheduler/cjs/scheduler.development.js:697:12)

package.json


"dependencies": {
    "@expo/next-adapter": "^1.0.1",
    "expo": "^35.0.0",
    "next": "^9.1.4",
    "randomstring": "^1.1.5",
    "react": "^16.11.0",
    "react-dom": "^16.11.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
    "react-native-web": "^0.11.7"
  },
  "devDependencies": {
    "@babel/core": "^7.7.5",
    "@babel/plugin-proposal-class-properties": "^7.7.4",
    "@babel/preset-env": "^7.7.5",
    "@babel/preset-react": "^7.7.4",
    "@babel/preset-typescript": "^7.7.4",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/react-native": "^5.0.2",
    "@types/jest": "^24.0.23",
    "@types/node": "^12.12.14",
    "@types/react": "^16.9.11",
    "@types/react-native": "^0.57.65",
    "babel-preset-expo": "^7.1.0",
    "expo-cli": "^3.4.1",
    "jest": "^24.9.0",
    "jest-expo": "^35.0.0",
    "now": "^16.5.2",
    "prisma": "^1.34.10", 
    "react-test-renderer": "^16.11.0",
    "ts-jest": "^24.2.0",
    "typescript": "^3.6.4"
  }

jest.config.js


module.exports = {
    roots: ['<rootDir>/components', '<rootDir>/pages'],
    transform: {
      '^.+\\.tsx?$': 'ts-jest',
    },
    setupFilesAfterEnv: [
      "@testing-library/jest-dom/extend-expect"
    ],
    testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
    moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|sentry-expo|native-base)"
    ]
  }

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.