Angularjs Karma单元测试Web包:进程内存不足后返回API致命错误处理程序
我正在尝试为我的项目执行karma单元测试用例。当我运行应用程序中可用的所有测试用例时,它失败了,错误如下。但是,当我通过执行文件夹中的所有控制器来配置运行更少的测试用例时,它就起作用了。如何增加内存大小以执行所有测试用例 尝试搜索,但无法获得任何有效的解决方案。任何指导都会有帮助`Angularjs Karma单元测试Web包:进程内存不足后返回API致命错误处理程序,angularjs,node.js,webpack,karma-jasmine,Angularjs,Node.js,Webpack,Karma Jasmine,我正在尝试为我的项目执行karma单元测试用例。当我运行应用程序中可用的所有测试用例时,它失败了,错误如下。但是,当我通过执行文件夹中的所有控制器来配置运行更少的测试用例时,它就起作用了。如何增加内存大小以执行所有测试用例 尝试搜索,但无法获得任何有效的解决方案。任何指导都会有帮助` $ karma start karma.conf.js # # Fatal error in , line 0 # API fatal error handler returned after process
$ karma start karma.conf.js
#
# Fatal error in , line 0
# API fatal error handler returned after process out of memory
#
/c/Users/AB18082/AppData/Roaming/npm/karma: line 14: 20164 Segmentation fault node "$basedir/node_modules/karma-cli/bin/karma" "$@"
编辑1:
当我试着增大尺寸时
$ node --max_old_space_size=10240 node_modules/karma/bin/karma start karma.conf.js
<--- Last few GCs --->
[13860:002BF998] 214803 ms: Scavenge 1021.9 (1358.6) -> 1021.6 (1365.1) MB, 146.9 / 0.0 ms allocation failure
[13860:002BF998] 217090 ms: Mark-sweep 1026.8 (1365.9) -> 1014.7 (1355.9) MB, 2263.4 / 0.0 ms allocation failure GC in old space requested
[13860:002BF998] 217243 ms: Scavenge 1022.6 (1359.5) -> 1022.5 (1363.5) MB, 75.4 / 0.0 ms allocation failure
[13860:002BF998] 217479 ms: Scavenge 1029.7 (1364.1) -> 1029.6 (1366.6) MB, 225.5 / 0.0 ms allocation failure
<--- JS stacktrace --->
Cannot get stack trace in GC.
FATAL ERROR: NewSpace::Rebalance Allocation failed - process out of memory
编辑:3
在谷歌搜索了这么多之后,我们能够修复使用下面的cmd加载应用程序的问题,但测试仍然存在同样的问题
env NODE_OPTIONS=--max_old_space_size=2048 node node_modules/webpack/bin/webpack
在package.json中进行如下更改后,您的问题将得到解决
"scripts": {
"test": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js",
"test-ci": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --single-run",
"test-coverage": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --coverage"
}
在尝试上述命令后,请尝试
node--max\u old\u space\u size=4096 node\u modules/karma/bin/karma start
相同的问题您的节点版本是什么?如果低于V8,是否可以将其更新为V8并重试?我的节点版本为8.9.3:(当我尝试在非ng型angular+TS混合动力车上启用覆盖时,我得到了这一点。它不高兴。如果可以的话,我建议只使用覆盖的ng测试。它工作得更好更快。我必须禁用,因为我的16gb RAM机器正在达到最大值。可能是我的错误。但我从未设法修复它。
"scripts": {
"test": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js",
"test-ci": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --single-run",
"test-coverage": "node --max_old_space_size=4096 ./node_modules/karma/bin/karma start ./test-config/karma.conf.js --coverage"
}