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

rot*_*rcz 5 node.js nightwatch.js

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

nightwatch --test tests/file.js
Run Code Online (Sandbox Code Playgroud)

我目前收到如下错误:

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
Run Code Online (Sandbox Code Playgroud)

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

我尝试了以下方法,但没有成功。

node --max_old_space_size=8192 nightwatch --test tests/file.js
Run Code Online (Sandbox Code Playgroud)

我应该如何重写上面的行才能使其工作?

编辑:

我也尝试过:

npm install -g increase-memory-limit
increase-memory-limit
Run Code Online (Sandbox Code Playgroud)

并尝试通过添加以下内容来更新 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"
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*cob 2

Nightwatch 可能不会在它生成的任何进程中传递内存限制。但是,您可以使用环境变量设置节点选项。这应该对任何生成的节点进程生效:

npx cross-env NODE_OPTIONS="--max_old_space_size=8192" nightwatch --test tests/file.js
Run Code Online (Sandbox Code Playgroud)