Мой упрощенный 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 отображает на любой уровень вложенных путей:
- @ хелперы / Foo
- @ хелперы / Foo / Foo
- и т.д ...
Я использую его в своих тестах, как import foo from "@helpers/foo/foo";
Однако я получаю эту ошибку:
Не удалось найти модуль @helpers/foo
, отображенный как:
/<PATH>/src/helpers/foo
Не нашел ничего в документации по вложенным путям. Я предположил, что, поскольку @helpers/(.*)
является регулярным выражением, это должно работать "из коробки".
Что я делаю не так? Может быть, это ошибка?