I’m newish to React and React Testing. I’ve been taking an Udemy course that is a few years old and some things are out of date. I got things updated with a lot of work. I can build, I can start the app. However, my once working tests now fail with this error:
<code>Test suite failed to run
ReferenceError: global is not defined
at Object.<anonymous> (node_modules/graceful-fs/graceful-fs.js:92:1)
at Object.<anonymous> (node_modules/expect/build/toThrowMatchers.js:10:24)
at Object.<anonymous> (node_modules/expect/build/index.js:35:48)
<code>Test suite failed to run
ReferenceError: global is not defined
at Object.<anonymous> (node_modules/graceful-fs/graceful-fs.js:92:1)
at Object.<anonymous> (node_modules/expect/build/toThrowMatchers.js:10:24)
at Object.<anonymous> (node_modules/expect/build/index.js:35:48)
</code>
Test suite failed to run
ReferenceError: global is not defined
at Object.<anonymous> (node_modules/graceful-fs/graceful-fs.js:92:1)
at Object.<anonymous> (node_modules/expect/build/toThrowMatchers.js:10:24)
at Object.<anonymous> (node_modules/expect/build/index.js:35:48)
I found an old StackOverflow post with this error, but the solution there did not work.
I ran a command I found in github about this issue:
│ │ └── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
│ └── [email protected] invalid: "^29.0.0" from node_modules/ts-jest
└── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
<code>$ npm list jest
[email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
│ └── [email protected] invalid: "^29.0.0" from node_modules/ts-jest
└─┬ [email protected]
└── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
</code>
$ npm list jest
[email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
│ └── [email protected] invalid: "^29.0.0" from node_modules/ts-jest
└─┬ [email protected]
└── [email protected] deduped invalid: "^29.0.0" from node_modules/ts-jest
It looks like there might be conflicting packages. I deleted my node_modules directory and ran yarn install. No joy.
Here is a copy of package.json:
"@testing-library/dom": "^10.4.0",
"@types/node": "^22.1.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"jest-environment-jsdom-sixteen": "^2.0.0",
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
"coverage": "yarn test --coverage --watchAll=false",
"eject": "react-scripts eject"
"last 1 firefox version",
"src/**/*.{ts,tsx,js,jsx}",
<code>{
"name": "react-testing",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/dom": "^10.4.0",
"@types/node": "^22.1.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"axios": "^1.7.3",
"invariant": "^2.2.4",
"levenary": "^1.1.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"jest-environment-jsdom-sixteen": "^2.0.0",
"ts-jest": "^29.2.4",
"typescript": "~5.5.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
"coverage": "yarn test --coverage --watchAll=false",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"jest": {
"collectCoverageFrom": [
"src/**/*.{ts,tsx,js,jsx}",
"!src/serviceWorker.ts",
"!src/index.tsx",
"!src/**/*.d.ts"
]
}
}
</code>
{
"name": "react-testing",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/dom": "^10.4.0",
"@types/node": "^22.1.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"axios": "^1.7.3",
"invariant": "^2.2.4",
"levenary": "^1.1.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/jest": "^29.5.12",
"jest-environment-jsdom-sixteen": "^2.0.0",
"ts-jest": "^29.2.4",
"typescript": "~5.5.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jest-environment-jsdom-sixteen",
"coverage": "yarn test --coverage --watchAll=false",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"jest": {
"collectCoverageFrom": [
"src/**/*.{ts,tsx,js,jsx}",
"!src/serviceWorker.ts",
"!src/index.tsx",
"!src/**/*.d.ts"
]
}
}
Any clues?