Jest TypeError: Path must be a string. Received undefined

Viewed 34482

Below settings for my package.json

If I run from command line npm test all jest test cases are executed properly. In case I use directly the command jest from command line I receive this error:

Test suite failed to run

TypeError: Path must be a string. Received undefined

  at assertPath (path.js:7:11)
  at Object.relative (path.js:538:5)

This happens on any test files.

Any idea what could be wrong and how to fix it?

 "scripts": {
        "test": "standard && jest",
        "format": "standard --fix",
        "start": "webpack-dev-server --config webpack.config.dev.js",
        "build": "webpack --config webpack.config.prod.js"
    },
7 Answers

In my case i had to update jest to version 21.x (from 20.x).

Try running npm install jest@latest --save-dev.

For me, it was the jest-cli package bumping to 21.x. So npm update jest-cli --save-dev

For me I had to downgrade. Version 21.x worked for me.

I solved this issue using:

remove node_modules remove package-lock.json

remove dev dependence from package.json of jest npm remove jest --save-dev.

npm cache clean

then run command npm install

then install npm install jest@latest --save-dev

this works for me

npm install react-dev-utils@10.1.0

Installing this version of react-dev-utils helped, when sometimes the commands in the accepted answers didn't.

Good luck y'all!

Related