我无法开始测试,因为它们一开始就失败并出现错误
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 和规范报告器更新到他们软件包的最新版本吗?我正在使用 Angular 9
最佳答案
看来这是由于项目的“年龄”。它是从 Angular 6 开始的。根据 this comment emitDecoratorMetadata
在配置中是原因。删除后一切正常...
关于Angular 测试在初始化前无法访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079874/