我的简化jest.config.js
是:
module.exports = {
preset: "ts-jest",
collectCoverage: true,
collectCoverageFrom: [
"src/**/*.ts",
"!**/node_modules/**",
"!src/config/*.ts",
"!build/**/*"
],
coverageReporters: ["text"],
reporters: ["default"],
moduleDirectories: [
"src",
"node_modules"
],
moduleNameMapper: {
"@helpers/(.*)": "<rootDir>/src/helpers/$1", <---- question about this
},
globals: {
'ts-jest': {
diagnostics: {
pathRegex: /\.(spec|test)\.ts$/,
ignoreCodes: [6133]
}
}
},
verbose: true,
roots: ["src"],
moduleFileExtensions: ["ts", "tsx", "js", "jsx"]
};
moduleNameMapper 映射到任何级别的嵌套路径:
- @helpers/foo
- @helpers/foo/foo
- ETC...
我在我的测试中使用它,比如import foo from "@helpers/foo/foo";
但是,我收到此错误:
找不到
@helpers/foo
映射为的模块:/<PATH>/src/helpers/foo
在文档中没有找到关于嵌套路径的任何内容。我假设,因为@helpers/(.*)
是一个正则表达式,这应该是开箱即用的。
我究竟做错了什么?也许这是一个错误?