我考虑使用jest
来测试我的混合应用程序(Angular + AngularJS)。我使用jest-preset-angular
进行角度测试,但我还需要angular-mocks
进行AngularJS测试。
问题是当我在jest-preset-angular
中导入angular-mocks
和setupJest.ts
时,所有测试(Angular和AngularJS)都会因Cannot read property '$injector' of null
错误而失败(来自{{1} }})。
如果我仅导入angular-mocks
所有Angular测试都通过,如果我只导入jest-preset-angular
,则所有AngularJS测试都会通过。
如何让它一起工作?
的package.json:
angular-mocks
setupJest.ts:
"jest": {
"preset": "jest-preset-angular",
"setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts"
}
答案 0 :(得分:1)
事实证明这个命令很重要
在angular-mocks
之前导入jest-preset-angular
可解决问题:
import 'angular';
import 'angular-mocks';
import 'jest-preset-angular';