作者:幽幽独舞99 | 来源:互联网 | 2023-02-04 15:53
我正在写一个反应应用程序并用开玩笑测试它.但是,每当我jest
从终端运行命令时,我都会出现此错误.
TypeError: projects.map is not a function
at Object. (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:172:28)
at next (native)
at step (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:18:30)
at /Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:34:14
at Object. (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:15:12)
at Object.module.exports [as runCLI] (/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:2 03:17)
at Object.run (/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/build/cli/index.js:42:17)
at Object. (/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/bin/jest.js:16:25)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
我进入node_modules
查看导致错误的代码行,projects
是项目当前路径的字符串.
这是我的开玩笑配置 package.json
"jest": {
"transform": {
".(ts|tsx)": "/node_modules/ts-jest/preprocessor.js"
},
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
]
}
有没有人遇到过这个错误,知道如何修复它?
1> 小智..:
刚遇到同样的问题.如果仔细查看堆栈跟踪,您会注意到您运行了两个不同的Jest设置:
全球安装的玩笑:
...(/Users/DavidHu/.nvm/versions/node/v6.2.1/lib/node_modules/jest-cli/bin/jest.js:16:25)
项目开玩笑:
...(/Users/DavidHu/Desktop/coding/projects/swapnow/node_modules/jest-cli/build/cli/runCLI.js:172:28)
它们可能具有不同(和不兼容)的版本.如果从项目(或全局node_modules
)中删除应该解决问题的jest .
从项目中删除Jest绝对应该是最后一个选项.任何进入你的项目的人,或者从现在起6个月后你都会感谢你,当你知道什么版本的Jest在你的项目上运行/工作时.
2> Rick Hanlon ..:
如果您更新项目中的jest但仅使用jest
命令行(而不是来自node_modules)运行它,则会发生这种情况.
要解决此问题,您需要更新您的全局玩笑:
npm install -g jest