Dans mon package.json, j'ai une configuration de jest
"jest": {
"preset": "jest-preset-angular",
"transform": {
"^.+\\.js$": "babel-jest",
"^.+\\.(ts|html)$": "<rootDir>/node_modules/jest-preset-angular/preprocessor.js"
},
"transformIgnorePatterns": [
"node_modules/babel-runtime"
],
"setupTestFrameworkScriptFile": "<rootDir>/src/__tests__/setupJest.ts",
"moduleNameMapper": {
"mockData": "<rootDir>/src/__tests__/data",
"mockService": "<rootDir>/src/__tests__/services"
},
"testResultsProcessor": "jest-junit",
"testMatch": [
"**/?(*.)(spec).ts?(x)"
]
},
"jest-junit": {
"suiteName": "jest tests",
"output": "./reports/tests/TESTS-junit.xml",
"classNameTemplate": "{classname}-{title}",
"titleTemplate": "{classname}-{title}",
"usePathForSuiteName": "true"
}
La partie "moduleNameMapper" est ce dont vous avez besoin, j'ai ajouté ces parties après mes devDependencies. Vous pouvez aussi créer un fichier de configuration ailleurs.
https://jestjs.io/docs/en/configuration
EDIT :
Vous devez modifier ces chemins :
"mockData": "<rootDir>/src/__tests__/data",
"mockService": "<rootDir>/src/__tests__/services"
Donc si vous voulez que Mock soit en dehors du dossier src, vous pouvez remplacer mon conf par :
"mockData": "<rootDir>/__tests__/data",
"mockService": "<rootDir>/__tests__/services"