我的package.json
的设置如果我从命令行npm test
运行,则所有正确的测试用例都会正确执行。
如果我直接从命令行使用命令jest
,我收到此错误:
测试套件无法运行
TypeError: Path must be a string. Received undefined at assertPath (path.js:7:11) at Object.relative (path.js:538:5)
这会发生在任何测试文件上。
知道可能出现什么问题以及如何解决问题?
"scripts": {
"test": "standard && jest",
"format": "standard --fix",
"start": "webpack-dev-server --config webpack.config.dev.js",
"build": "webpack --config webpack.config.prod.js"
},
答案 0 :(得分:18)
我不完全确定这里的问题是什么,但我遇到了同样的问题,对我有用的是更新Jest版本。我正在使用20但我切换到21,现在它再次神奇地工作。
更新package.json
中的版本,然后运行rm -rf node_modules && npm install
答案 1 :(得分:16)
我使用以下方法解决了这个问题:
答案 2 :(得分:13)
在我的情况下,我必须将jest更新为版本21.x(来自20.x)。
尝试运行npm install jest@latest --save-dev
。
答案 3 :(得分:7)
对我来说,这是jest-cli包撞到21.x.所以npm update jest-cli --save-dev
答案 4 :(得分:2)
我使用以下方法解决了此问题:
删除node_modules
删除package-lock.json
从玩笑package.json
的{{1}}中删除开发人员依存关系
npm remove jest --save-dev.
然后运行命令npm cache clean
然后安装npm install
这对我有用
答案 5 :(得分:1)
对我来说,我不得不降级。 21.x版本对我有用。
答案 6 :(得分:1)
npm install react-dev-utils@10.1.0
有时,接受的答案中的命令不起作用,安装此版本的react-dev-utils
会有所帮助。
祝你好运!