初始化之前,Angular测试无法访问服务

时间:2020-05-29 06:25:10

标签: angular unit-testing jasmine karma-jasmine karma-runner

我无法启动测试,因为它们在一开始就失败并出现错误

Chrome 83.0.4103.61 (Linux x86_64) ERROR
  An error was thrown in afterAll
  Uncaught ReferenceError: Cannot access 'SomeService' before initialization
  ReferenceError: Cannot access 'SomeService' before initialization

... stack trace

问题是:

a)这是一个单例服务,providedIn: 'root'

b)将跟踪点堆栈到无处(甚至包括完全注释掉的测试文件,因此没有一行代码。

c)因此其他测试无法开始

d)由于数量太多,我无法开始禁用测试以寻找起点。

我如何找到可能发生错误的地方以及可能导致此错误的原因?是否可以将Karma,Jasmine和spec记者更新到其软件包的最新版本?我正在使用Angular 9

1 个答案:

答案 0 :(得分:2)

似乎是由于项目的“年龄”所致。它是从Angular 6开始的。根据配置中的this comment emitDecoratorMetadata是原因。删除后,一切正常...