错误单元测试 Angular 8 / Jasmine / Karma:RangeError:超出最大调用堆栈大小
2019-10-09
2190
我正在使用 Jasmine 对我的 Angular 应用进行单元测试,有时 Karma 窗口中会出现以下错误。我找不到它的来源,因为它在重新加载时大约发生 1/5 次。它发生在监视模式下。有什么线索吗?
zone.js:202 Uncaught RangeError: Maximum call stack size exceeded
at RegExp.exec (<anonymous>)
at Array.<anonymous> (VM2578 browser-source-map-support.js:110)
at VM2578 browser-source-map-support.js:102
at d (VM2578 browser-source-map-support.js:103)
at q (VM2578 browser-source-map-support.js:106)
at VM2578 browser-source-map-support.js:107
at Array.map (<anonymous>)
at Function.w [as prepareStackTrace] (VM2578 browser-source-map-support.js:107)
at VM2580 jasmine.js:897
at onerror (VM2580 jasmine.js:3199)
大多数情况下,在重新加载 karma 窗口一次后,测试集会再次运行并且正常运行。
2个回答
使用选项
ng test --source-map=false
可以防止错误发生,但不是永久的解决方案,因为它显然只是禁用源映射并使堆栈跟踪无用。
在 ci 中使用此选项可以防止测试失败。
Jeremias Nater
2022-01-24
我自己也遇到了这个问题,通过在引发错误的特定规范文件中导入路由模块设法解决了它。
thejabbernaut
2019-12-04