玩笑 28:createJestExpect - TypeError:无法读取未定义的属性(读取“扩展”)

Mic*_*ker 22 jestjs

我从 Jest 27 迁移到 28。如果我现在尝试开始测试,我只会收到以下错误:

\n
  \xe2\x97\x8f Test suite failed to run\n\n    TypeError: Cannot read properties of undefined (reading 'extend')\n\n      at createJestExpect (node_modules/@jest/expect/build/index.js:35:19)\n      at Object.<anonymous> (node_modules/@jest/expect/build/index.js:47:20)\n      at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:317:13)\n      at runJest (node_modules/@jest/core/build/runJest.js:407:19)\n      at _run10000 (node_modules/@jest/core/build/cli/index.js:338:7)\n      at runCLI (node_modules/@jest/core/build/cli/index.js:190:3)\n\nTest Suites: 1 failed, 1 total\n
Run Code Online (Sandbox Code Playgroud)\n

我什至无法调试我的测试,因为内部测试设置已经失败。任何线索,出了什么问题吗?

\n

Lup*_*ina 45

这是当选项包含时出现的错误(请参阅此处) 。moduleDirectories"."

要解决此问题,请更改".""<rootDir>"

moduleDirectories: ["node_modules", "<rootDir>"]
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用 jest.config.js文件,则可以更改"."__dirname

module.exports = {
  moduleDirectories: ["node_modules", __dirname]
};
Run Code Online (Sandbox Code Playgroud)

  • 从该错误问题:“我通过将 "moduleDirectories": [ "node_modules", "." ] 更改为 "moduleDirectories": [ "node_modules", "&lt;rootDir&gt;" ] 解决了这个问题" (3认同)