我正在我的测试用例中进行角度测试4我需要大量数据。 我动态地需要我的spec文件中需要的json。 这些文件大约是4到5 MB。
这是一些参考......
it('Multiple JSON:', () => {
rdocList.forEach(element => {
if (element.rdoc_id) {
service.rdoc = require('../mock/' +
element.rdoc_id +
'.json');
service.rdoc = new RDoc(service.rdoc);
const storage = service.rdoc.descendants.filter({
class_id: STORAGE_CLASS_IDS.ID
});
const clusterNode = storage[0].descendants.filter({
class_id: STORAGE_CLASS_IDS.CLUSTERID
});
component.id = clusterNode[0].id;
fixture.detectChanges();
}
});
});
我已经在每次之后清除了json ..
afterEach(() => {
service.rdoc = null;
service = null;
});
我遇到了这个问题
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
答案 0 :(得分:1)
您也可以先通过运行 export NODE_OPTIONS=--max_old_space_size=8192
和 ng test
命令来全局增加节点的内存使用量。
答案 1 :(得分:0)
移至此路径中的npm位置 - C:\ Users * UserName * \ AppData \ Roaming \ npm
尝试将 ng.cmd 更改为:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" --max_old_space_size=8192 "%~dp0\..\@angular\cli\bin\ng" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max_old_space_size=8192 "%~dp0\..\@angular\cli\bin\ng" %*
)
将 ngc.cmd 更改为:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" --max_old_space_size=8192 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node --max_old_space_size=8192 "%~dp0\..\@angular\compiler-cli\src\main.js" %*
)
答案 2 :(得分:0)
对我来说,它可以代替简单的ng test
:
node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng test
8192
是您要分配的分散内存