当我尝试使用带有Angular 8和Jest的“ npm run test
”命令运行测试用例时,我遇到了一个问题
我正在尝试从Karma/jasmine
框架迁移到Jest,还将角度版本升级到8。
但是npm
运行测试命令抛出以下错误
找不到文件:/src/tsconfig.spec.json(解析为: D:\ app-jest \ src \ tsconfig.spec.json)
在ConfigSet.resolvePath(node_modules / ts-jest / dist / config / config-> set.js:712:19)
Package.json
{
scripts": {
"ng": "ng",
"start": "ng serve",
"test": "jest"
}
jest.config.js
module.exports = {
preset: 'jest-preset-angular',
roots: ['src'],
setupFilesAfterEnv: ["./src/setup-jest.ts"]
};
答案 0 :(得分:0)
这是我的建议:
1。在您的package.json
文件中使用此语句。显然,您可能需要更改文件的路径。
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"<rootDir>/src/setupJest.ts"
],
"globals": {
"ts-jest": {
"tsConfig": "./tsconfig.spec.json",
"diagnostics": false,
"stringifyContentPathRegex": "\\.html$",
"astTransformers": ["<rootDir>/node_modules/jest-preset-angular/InlineHtmlStripStylesTransformer"]
}
}
}
2。我必须从test.ts
文件夹中删除src
文件。与此茉莉脚本有关的冲突。
3。我还在tsconfig.app.json
"compilerOptions": {
//...
"types": [
"jest"
]
}
希望对您有所帮助,我建议您阅读article
答案 1 :(得分:0)
这是快速修复
将tsconfig.spec.json
返回到src。
更新jest.config.js:
较新版本已修复此问题。请参考以下线程