我在Windows 7 PC上使用PhantomJS(通过Grunt)运行了一堆Jasmine规范,我碰巧遇到以下错误:
Testing jasmine specs via phantom
......
Running PhantomJS...ERROR
>> 0 [ '' ]
Warning: PhantomJS exited unexpectedly with exit code -1073741819. Use --force to continue.
Aborted due to warnings.
如果删除一堆测试,则不会出现错误;但是我不知道导致错误的原因。
我也觉得很奇怪,它只是偶尔出现。
知道为什么会这样吗?
答案 0 :(得分:2)
我们正在通过jasmine和grunt运行AngularJS测试,并遇到了同样的问题。对我们来说,原来是由于我们的自定义$exceptionHandler功能。
我们错过了示例处理程序中的throw exception
行。通过不抛出异常,测试将通过,但它将随机导致PhantomJS崩溃。
以下是$exceptionHandler documentation page的示例处理程序:
angular.module('exceptionOverride', []).factory('$exceptionHandler', function () {
return function (exception, cause) {
exception.message += ' (caused by "' + cause + '")';
throw exception; // <--- This is important
};
});
所以,我要查看您是否也有自定义异常处理,并且可能缺少throw exception
行。
我希望它对你来说也一样简单!
答案 1 :(得分:2)
(可悲的是,我没有答案。我会发表评论,但我没有代表。)
我尝试使用grunt-html-snapshot创建html快照时遇到同样的错误。
Running PhantomJS...ERROR
>> 0 [ '' ]
Warning: PhantomJS exited unexpectedly with exit code -1073741819. Use --force to continue.
Aborted due to warnings.
我正在给grunt提供一个URL列表,我随机地&#34;在列表中的某处发生此崩溃。我想我已经将它跟踪到子进程spawn调用,该调用使用bridge.js脚本启动phantom.exe。在phantom.exe子进程退出并出现错误之前,似乎没有尝试加载下一页。我还没能找到有关错误代码的任何文档。
答案 2 :(得分:0)
重命名文件夹并在grunt中运行jasmine后,我收到了与Helge相同的错误消息。
该文件夹包含我想要缩小为一个文件的所有JavaScript文件,我重命名该文件夹以匹配最终文件名。例如,文件夹,\src\modules\
已重命名为\src\modules.js\
。
从文件夹名称中删除.js解决了这个问题。
答案 3 :(得分:0)
使用PhantomJS为AngularJS生成快照。
快照脚本通过一组网址,它必须拍摄快照。
缩小到可能的原因,结果发现我最近在AngularJS中修复了一个错误。此错误导致不断切换主页和发生错误的页面。
代码可视化:
$state.go('home state');
...
$state.go('an other state');
...
$state.go('home state');
...
$state.go('an other state');
...
$state.go('home state');
...
...
=> Error: PhantomJS exited unexpectedly with exit code -1073741819
简而言之:
对我来说,这个错误是由无限重定向循环引起的。
答案 4 :(得分:-1)
当您的本地PhantomJS不兼容或损坏时,也会显示警告PhantomJS exited unexpectedly with exit code -1073741819
。
使用npm list -g phantomjs
,您可以查看PhantomJS版本。
如果您认为它已损坏,只需重新安装:
npm uninstall phantomjs -g
npm install phantomjs -g