#angular #jestjs #ngrx
#angular #jestjs #ngrx
Вопрос:
Я перенес проект с версии 25 на 27, и модуль «@ngrx / effects / testing» не может быть найден. В моем случае для baseUrl в проекте установлено значение «./src».В других проектах с baseUrl ‘.’ и с тем же jest, angular, ngrx тесты выполняются без проблем. Может быть, требуется дополнительная настройка для jest?
Это сообщение, которое я получаю:
Cannot find module '@ngrx/store/testing' from 'src/app/app.component.spec.ts'.
некоторые зависимости от package.json:
"dependencies": {
"@angular/animations": "13.0.2",
"@angular/common": "13.0.2",
"@angular/core": "13.0.2",
"@angular/forms": "13.0.2",
"@angular/localize": "^13.0.2",
"@angular/platform-browser": "13.0.2",
...
"@ngrx/effects": "13.0.1",
"@ngrx/entity": "13.0.1",
"@ngrx/store": "13.0.1",
}
"devDependencies": {
"@types/jest": "27.0.3",
"jest": "^27.4.3",
"jest-junit": "13.0.0",
"jest-marbles": "3.0.1",
"jest-preset-angular": "^11.0.1",
...
}
Для baseUrl установлено значение «./src» в файле tsconfig.json.
{
"compileOnSave": false,
"compilerOptions": {
"skipLibCheck": true,
"resolveJsonModule": true,
"baseUrl": "./src",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"module": "es2020",
"esModuleInterop": true,
"lib": [
"es2018",
"dom"
]
}
}
И вот конфигурация jest:
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"<rootDir>/setupJest.ts"
],
"moduleDirectories": [
"node_modules",
"src"
]
}
Ответ №1:
Обновление: эта ошибка устранена в версии 13.0.2
Это известная проблема, и она уже решена в https://github.com/ngrx/platform/issues/3248 , который будет включен в следующий выпуск ngrx.
До тех пор вы можете установить ночную версию, https://ngrx.io/guide/nightlies