运行jest-preset-angular时出现ENONET错误

时间:2018-01-07 08:17:00

标签: angular jest-preset-angular

我正在尝试将我的角度项目的jest集成到单元测试中。

我按照this link的说明进行操作。

当我跑步时,我面临一个奇怪的错误ENOENT: no such file or directory, open 'E:\source-code\packages\core\src\view\ng_module.ts'

我的文件夹结构没有名为 package 的文件夹。经过大量挖掘,我发现npm包使用了packages\core\src\view\ng_module.ts'(angular:P)screenshot of the path used in angular < / p>

我不知道这个错误是如何抛出的,当我通过业力时会发生这种错误

这是我的开玩笑配置 "jest": { "preset": "jest-preset-angular", "setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts", "globals": { "ts-jest": { "tsConfigFile": "src/tsconfig.spec.json", "useBabelrc": true }, "__TRANSFORM_HTML__": true }, "transform": { "^.+\\.(ts|html)$": "<rootDir>/node_modules/jest-preset-angular/preprocessor.js", "^.+\\.js$": "babel-jest" }, "transformIgnorePatterns": [ "<rootDir>/node_modules/(?!(@ngrx|ngx-dialog|ng-infinity))" ] }

1 个答案:

答案 0 :(得分:0)

是时候回答我自己的问题了。

这似乎是一个版本问题。

在撰写本答复时,最新版本是:

 "@types/jest": "^22.0.1",
 "jest": "^22.0.4",
 "jest-preset-angular": "^5.0.0"

支持我的项目的那个(角度v4)是:

"@types/jest": "^20.0.7",
"jest": "^20.0.4",
"jest-preset-angular": "^2.0.5"

之后,这些错误就会停止发生。

我再次检查了这个结果this git repo too(也用ng4编写):P。一旦我将jest版本更改为该repo中的最新版本,它就会盯着给出相同的奇怪路径packages\core\src\....错误。

但是现在开始出现一些新的错误。我正在使用jest.spyOn().mockReturnValue()在实际组件函数中抛出错误,这不应该是这种情况,因为函数调用应该被模拟并使用提供的返回值。我也试过jest.spyOn().mockImplementation(),但没有成功。

我怀疑使用spyOn方法导致错误。

相关问题