【发布时间】:2020-04-08 19:02:35
【问题描述】:
我正在使用 jest 测试我的 js 应用程序。在我的 package.json 中,我映射了所有模块,例如 在documentation中描述:
"jest": {
"moduleNameMapper": {
"@db/(.*)": "<rootDir>/db/$1",
"@src/(.*)": "<rootDir>/src/$1",
"@dto/(.*)": "<rootDir>/src/dto/$1",
"@repos/(.*)": "<rootDir>/src/repos/$1",
"@fetchers/(.*)": "<rootDir>/src/fetchers/$1",
"@controllers/(.*)": "<rootDir>/src/controllers/$1",
"@parsers/(.*)": "<rootDir>/src/parsers/$1",
"@streams/(.*)": "<rootDir>/src/streams/$1",
"@validators/(.*)": "<rootDir>/src/validators/$1"
}
},
但是,当我实例化一个包含顶部导入的新 RestRepo 时,我在执行测试时收到此错误:
Cannot find module '@db' from 'RestRepo.js'
Require stack:
src/repos/RestRepo.js
tests/unit/RestEndpoint.test.js
> 1 | const { RestEndpoint } = require('@db');
| ^
2 |
3 | class RestRepo {
我该如何解决这个问题?为什么会这样?
【问题讨论】:
标签: javascript testing jestjs