我使用的是经过修改的Jasmine JUnit报告版本(可在此处找到:https://github.com/angular/protractor-cookbook/tree/master/jasmine-junit-reports),并收到RangeError: Maximum call stack size exceeded的错误信息
我修改报告的原因是我需要在suiteDone步骤生成的报告,而不是jasmineDone步骤。所以基本上我把所有的代码从jasmineDone移到了suiteDone函数中,这导致了我看到的错误。我对js比较陌生,所以不太确定是不是有异步问题或者类似的问题。
这是堆栈跟踪和相关的代码:
- RangeError: Maximum call stack size exceeded
at getSuite (C:\Users\AutomationUser\application\admin\adminui\e2e\common-pages\reporter.js:248:26)
at exportObject.QmetryReporter.self.suiteDone (C:\Users\AutomationUser\application\admin\adminui\e2e\common-pages\reporter.js:312:21)
at exportObject.QmetryReporter.self.suiteDone (C:\Users\AutomationUser\application\admin\adminui\e2e\common-pages\reporter.js:322:22)getSuite函数(第248行):
function getSuite(suite) {
__suites[suite.id] = extend(__suites[suite.id] || {}, suite);
return __suites[suite.id];
}suiteDone函数块:
self.suiteDone = function (suite) {
suite = getSuite(suite); // this is line 312 from stacktrace
if (suite._parent === UNDEFINED) {
// disabled suite (xdescribe) -- suiteStarted was never called
self.suiteStarted(suite);
}
suite._endTime = new Date();
currentSuite = suite._parent;
// below this line is the start of jasmineDone function that I moved into this function
if (currentSuite) {
// focused spec (fit) -- suiteDone was never called
self.suiteDone(fakeFocusedSuite); // this is line 322 from stacktrace
}这个问题似乎只有在运行更大的测试规范分组时才会发生。如果只运行一个测试文件,我就不会得到这个问题。
发布于 2019-05-31 22:12:51
我已经遇到过很多次了。对我来说有效的解决方案是使用increase-memory-limit包。只需全局安装它,然后在项目的根目录( package.json所在的位置)运行increase-memory-limit即可。应该在安装完所有依赖项之后并在开始测试之前运行此命令。您将看到一组类似于以下内容的输出
'~/app/node_modules/.bin/webdriver-manager' written successfully.
'~/app/node_modules/.bin/webdriver-manager.cmd' written successfully.
'~/app/node_modules/.bin/webpack' written successfully.
'~/app/node_modules/.bin/webpack-cli' written successfully.
'~/app/node_modules/.bin/webpack-cli.cmd' written successfully.
'~/app/node_modules/.bin/webpack-dev-server' written successfully.
'~/app/node_modules/.bin/webpack-dev-server.cmd' written successfully.
'~/app/node_modules/.bin/webpack.cmd' written successfully.
'~/app/node_modules/.bin/which' written successfully.
'~/app/node_modules/.bin/which.cmd' written successfully.在此之后,您应该不会再看到此错误。我的完整回归套件非常大,当我试图一次运行所有完整套件时,我总是看到相同的错误。上面的打包包帮我修复了它,自从我开始使用它以来,我还没有遇到过任何问题。
https://stackoverflow.com/questions/56396498
复制相似问题