Jest TypeError: Path must be a string. Received undefined

核能气质少年 提交于 2019-11-30 00:14:55

问题


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"
    },

回答1:


I am not entirely sure what the problem here is, but I was facing the same issue and what worked for me was updating the Jest version. I was using 20 but I switched to 21 and now it magically works again.

Update version in package.json and then run rm -rf node_modules && npm install




回答2:


I solved this issue using:

  • npm uninstall -g jest
  • npm install -g jest
  • npm cache clean
  • npm install



回答3:


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

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




回答4:


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




回答5:


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




回答6:


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



来源:https://stackoverflow.com/questions/46220674/jest-typeerror-path-must-be-a-string-received-undefined

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!