我们正在使用 karma
运行测试和 phantomjs
上周,我们的测试神秘地开始使 phantomJS 崩溃,错误为 -1073741819。
Based on this thread for Chutzpah
代码似乎表明 PhantomJS 存在 native 内存故障。
经过进一步调查,我们一直在看到大约 750MB 内存的幻影崩溃。
有没有办法配置 Karma 使其不会超出此限制?或者一种方法来告诉它冲洗幻象?
到目前为止,我们只有大约 1200 个测试。我们的项目已经完成了大约 1/4,所以 5000 个 UI 测试似乎不是不可能的。
最佳答案
在使用 PhantomJS 1.9.18 在 Windows 10 上进行了大约 1037 次测试后,我也遇到了这个问题。 .
它将显示为 ERROR [launcher]: PhantomJS crashed.
在该进程的 RAM 将超过大约 800-850 MB 之后。
这里似乎有一个临时修复:
您可以通过
npm install karma-phantomjs2-launcher --save-dev
安装它但是接下来需要在
karma.conf.js
中使用通过config.set({
browsers: ['PhantomJS2'],
...
});
这似乎运行相同的测试集,而仅使用 250-550 MB RAM 并且没有崩溃。
请注意,此修复适用于 Windows 和 OS X,但不适用于 Linux(PhantomJS2 二进制文件不会启动)。这会影响到 Travis CI 的推送。
要在 Debian/Ubuntu 上解决此问题:
sudo apt-get install libicu52 libjpeg8 libfontconfig libwebp5
关于phantomjs - 如何使用 karma 和 phantomjs 解决内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27239708/