【问题标题】:Error starting a test with testacular使用 testacular 开始测试时出错
【发布时间】:2013-03-28 20:50:35
【问题描述】:

我正在 64 位 Windows 7 系统上试用 angularjs 教程,因为从我在其主页上阅读的内容中我发现这个框架非常有趣。我是 node.js 的新手,没有 JavaScript 经验。

运行测试时,我收到以下错误。任何人都可以找出问题所在或给出一些提示如何确定吗?我有一个全新的节点安装并添加了 testacular

npm install -g testacular

从控制台窗口上打印的内容来看效果很好。

所以这里是错误信息:

PS C:\Users\xx\Documents\Angular\angular-phonecat> .\scripts\test.bat
INFO [testacular]: Testacular 服务器启动于 http://localhost:9876/
INFO [启动器]:启动浏览器 Chrome
错误 [testacular]: { [错误: spawn ENOENT] 代码: 'ENOENT', errno: 'ENOENT', 系统调用: 'spawn' }
错误:生成 ENOENT
在 errnoException (child_process.js:948:11)
在 Process.ChildProcess._handle.onexit (child_process.js:739:34)

【问题讨论】:

  • 好吧,您是否安装了chrome 并在您的路径中?错误基本上是告诉你child_process.spawn throw ENOENT 这通常意味着找不到可执行文件
  • 是的,Chrome 已安装,我已将 Chrome 的应用程序文件夹添加到 PATH 变量中。有没有办法找出 node.js 试图启动的进程?

标签: javascript node.js


【解决方案1】:

在 Windows Vista 上的 karma 配置文件中为测试浏览器插入“PhantomJS”会导致相同的错误消息:{ [Error: spawn ENOENT] code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn' }

我根据上面的建议进行了广告,并在“所有者的用户变量”PHANTOMJS_BIN 下插入了系统路径(“环境变量”),其值由包含 phantomjs.exe 的路径组成(C:\Program Files\phantomjs -1.9.0-windows\phantomjs.exe)

一切都好,jasmine angularjs 测试现在正在运行,并且比使用“Chrome”或“Firefox”作为测试浏览器要快得多。

【讨论】:

    【解决方案2】:

    简短回答: 将环境变量 CHROME_BIN 设置为 chrome.exe 的完整路径

    错误消息令人困惑,因为在 Node 0.10 中 spawn 的行为发生了变化,我们需要更新它 (https://github.com/karma-runner/karma/issues/452)

    【讨论】:

    • 顺便说一句,该项目已重命名为 Karma,因此您可能宁愿安装 npm install karma,因为 Testacular 包不会在 NPM 上更新。
    • 如果您在 Windows 上运行,请确保不要在路径中加上引号,即使其中有空格,也不要在路径中加上引号,而应仅使用 exe 的完整路径,例如 C:/Program Files (x86)/Google/Chrome/Application/chrome.exe
    • @clav 感谢您指出这一点,顺便说一句。使用最新的 Karma 这不是问题,因为 Karma 首先检查引号,如果您使用它们,请删除它们...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多