Jest 测试套件失败 运行 AngularJS v1.x 未加载!升级后 angular 7 到 9

Jest test suite failed to run AngularJS v1.x is not loaded! after upgrade angular 7 to 9

当我 运行 npm test 我们使用 jest 进行单元测试覆盖时,出现以下错误。

测试套件未能 运行 AngularJS v1.x 未加载!

  at Object.noNg (../../../packages/upgrade/src/common/src/angular1.ts:228:9)
  at node_modules/@uirouter/angular-hybrid/bundles/ng:/@uirouter/angular-hybrid/angular-hybrid.ts:51:38
  at node_modules/@uirouter/angular-hybrid/bundles/uirouter-angular-hybrid.umd.js:2:68
  at Object.<anonymous> (node_modules/@uirouter/angular-hybrid/bundles/uirouter-angular-hybrid.umd.js:5:2)
  at Object.<anonymous> (src/customer-forms/customer-forms.routing.module.ts:2:1)
  at Object.<anonymous> (src/customer-forms/index.ts:6:1)
  at Object.<anonymous> (src/core/effects/library.effects.ts:25:1)
  at Object.<anonymous> (src/core/effects/index.ts:1:1)
  at Object.<anonymous> (src/core/index.ts:41:1)
  at Object.<anonymous> (src/selectors/print-queue.selectors.ts:3:1)
  at Object.<anonymous> (src/selectors/index.ts:7:1)
  at Object.<anonymous> (src/shared/directives/order-by.directive.ts:13:1)
  at Object.<anonymous> (src/shared/directives/index.ts:2:1)
  at Object.<anonymous> (src/shared/shared.module.ts:4:1)
  at Object.<anonymous> (src/shared/index.ts:1:1)
  at Object.<anonymous> (test/effects/common.effects.test.ts:4:1)

任何人对此有想法请帮助。

同时拥有angulajs和angular9升级代码库

玩笑配置

"@types/jest": "24.0.6",
"bamboo-jest-reporter": "1.0.3",
"jest": "24.9.0",
"jest-junit": "10.0.0",
"ts-jest": "24.1.0"

以上版本在package.json中列出。升级到 9 或 10 版本后,它在 angularjs+angular7 解决方案中工作,我遇到了上述问题。

问题已解决 由于服务导入的路径,出现此问题。我们直接从如下路径导入服务

import { WorkPermitsService } from '../../work-permits/work-permits.service';

升级到 angular 后,当我 运行 进行单元测试时,有 9 个导入路径未解析。所以我已经将它导出到服务 index.ts 中,并在需要时从@services(导出的常用位置)导入。像这样我已经为大家做了。

变化:

export { WorkPermitsService } from '../../work-permits/work-permits.service';

在需要的地方导入

import { WorkPermitsService} from '@services';