我正在尝试将 jest 添加到我的打字稿项目中进行测试,但是当我运行 jest 时,它一直给我错误
● Test suite failed to run
Cannot find module 'fs/promises' from 'src/path/to/file'
Require stack:
src/path/to/file
test/test.ts
> 3 | import fsp from 'fs/promises';
at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:311:11)
at Object.<anonymous> (src/path/to/file.ts:3:1)
程序本身运行良好,但每当我尝试在其上运行 jest 时,都会遇到此问题。我尝试过添加jest.mock('fs');
,这没有帮助,并添加jest.mock('fs/promises');
在测试文件中给出相同的错误。
我读到某些版本的 Node 不支持'fs/promises'
而需要require('fs').promises
,我已经尝试过了,但仍然不起作用(我使用的是 Node 版本 12)。
如何配置 jest 才能加载'fs/promises'
?我已经包括了我的jest.config.js
文件如下:
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
testPathIgnorePatterns: [
'/node_modules/',
'/out/',
],
moduleDirectories: [
'.',
'node_modules'
],
moduleFileExtensions: [
'ts',
'tsx',
'js',
'jsx'
]
}