ember install ember-modifier-manager-polyfill ERROR: RangeError: Maximum call stack size exceeded

ember install ember-modifier-manager-polyfill ERROR: RangeError: Maximum call stack size exceeded

安装插件后:ember install ember-modifier-manager-polyfill 仅在 CI 上获得失败的测试套件(如果 运行 在本地单独进行每个特定测试 - 测试通过)

这是关于它的状态打开的问题: https://github.com/ember-polyfills/ember-angle-bracket-invocation-polyfill/issues/110 但就我而言,我在模板中没有类似的情况:

{{#each questions as |question|}}
  {{component question.componentName question=question}}
{{/each}}

所以,这是不同的...因为失败的是系统不同部分的不同测试 (Integration/Acceptance)

备注:

ember-source: 2.18.2
ember-angle-bracket-invocation-polyfill: 2.0.2
jquery: 3.5.1
ember-modifier-manager-polyfill: 1.2.0

它不是这个的副本: 或这个: Ember Uncaught RangeError: Maximum call stack size exceeded 但错误信息相同

输出示例:

stack: >
                at DOMAssertions.exists (http://0.0.0.0:4200/assets/test-support.js:24416:16)
                at DOMAssertions.exists (http://0.0.0.0:4200/assets/test-support.js:24737:18)
                at Object._callee$ (http://0.0.0.0:4200/assets/tests.js:141899:45)
                at tryCatch (http://0.0.0.0:4200/assets/vendor.js:6235:40)
                at Generator.invoke [as _invoke] (http://0.0.0.0:4200/assets/vendor.js:6509:22)
                at Generator.prototype.<computed> [as next] (http://0.0.0.0:4200/assets/vendor.js:6268:21)


browser log: |
            ERROR: RangeError: Maximum call stack size exceeded
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72303:51)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)
                at CurlyComponentManager.manager.didCreateElement (http://0.0.0.0:4200/assets/vendor.js:72304:45)

感谢任何帮助

这个问题在我们的项目中通过使用现代语法重写测试代码库得到了解决,因为测试代码库处于迁移状态:一些测试是遗留的,但一些是使用现代语法的。

因此,要解决 - 弃用 moduleFor... 的测试,例如 moduleForAcceptance.

这里提到: https://github.com/ember-polyfills/ember-angle-bracket-invocation-polyfill/issues/110#issuecomment-815088157