运行Nightwatch时如何增加内存使用量

时间:2018-07-27 23:57:03

标签: node.js nightwatch.js

在运行Nightwatch测试时,我通常只是这样运行:

nightwatch --test tests/file.js

我目前收到类似以下错误:

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - Javascript heap out of memory
    1: node_module_register
    2: v8::internal::FatalProcessOutOfMemory
    3: v8::internal::FatalProcessOutOfMemory
    4: v8::internal::Factory::NewRawTwoByteString
    5: v8::internal::AsmJsScanner::IsNumberStart
    6: 0000028B313843C1

我正在查找修复程序,在这种情况下,似乎节点需要更多的内存。

我尝试了以下操作,但是没有用。

node --max_old_space_size=8192 nightwatch --test tests/file.js

我应该如何重写上面的行使其起作用?

编辑:

我也尝试过:

npm install -g increase-memory-limit
increase-memory-limit

,还尝试通过添加以下内容来更新package.json:

"scripts": {
    "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit"
},

"devDependencies": {
    "increase-memory-limit": "^1.0.3",
    "cross-env": "^5.0.5"
}

1 个答案:

答案 0 :(得分:0)

Nightwatch在其产生的任何进程中都可能没有通过内存限制。但是,您可以使用环境变量设置节点选项。这应该对所有生成的节点进程都有效:

npx cross-env NODE_OPTIONS="--max_old_space_size=8192" nightwatch --test tests/file.js