Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Karma单元测试Web包:进程内存不足后返回API致命错误处理程序_Angularjs_Node.js_Webpack_Karma Jasmine - Fatal编程技术网

Angularjs Karma单元测试Web包:进程内存不足后返回API致命错误处理程序

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单元测试用例。当我运行应用程序中可用的所有测试用例时,它失败了,错误如下。但是,当我通过执行文件夹中的所有控制器来配置运行更少的测试用例时,它就起作用了。如何增加内存大小以执行所有测试用例

尝试搜索,但无法获得任何有效的解决方案。任何指导都会有帮助`

$ 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"
 }