【发布时间】:2020-11-17 21:25:00
【问题描述】:
安装插件后: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}}
所以,这是不同的东西......因为失败是系统不同部分的不同测试(集成/验收)
注意事项:
ember-source: 2.18.2
ember-angle-bracket-invocation-polyfill: 2.0.2
jquery: 3.5.1
ember-modifier-manager-polyfill: 1.2.0
这不是重复的: What could be reason of the error 'Maximum call stack size exceeded' inside Ember Data? 或这个: 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)
感谢任何帮助
【问题讨论】:
-
如果我做对了,测试套件在 CI 上失败,但在本地失败。两个常见的原因: 1. 不同的节点版本。 2.不同版本的依赖。要进行调试,我将从:检查
ember-modifier-manager-polyfill和使用的其他插件是否支持 CI 上使用的节点版本。也许尝试在 CI 上使用与本地相同的节点版本,看看它是否通过。您是否使用yarn.lock或package-lock.json锁定您的依赖关系,并且该依赖项是否已提交?您是否在本地和 CI 上使用相同的包管理器?在 CI 上安装时,您是否验证过它尊重锁定文件? -
当然,打包程序,yarn.lock 肯定需要,只有在本地运行
ember tests和在 CI 上运行ember exam的区别,是的 - 它可以通过 ember 考试在本地重现,这要归功于提高它,我重新检查过,但我仍然不明白原因 -
如果使用
ember exam而不是ember test执行测试套件,您是否可以在本地和CI 上重现错误? -
@jelhan omg,抱歉耽搁了这么久,不知何故我错过了你的评论。是的,在
CI=true ember exam --split=32 --partition=12 --parallel本地,我的测试失败了,原因是ERROR: RangeError: Maximum call stack size exceeded,但是在ember test --filter="Title'S of failed test'S on CI"运行时,我所有的测试都通过了。 -
@jelhan 顺便说一句,我得到了 ember-source 到 2.16.4 但仍然有这个问题