0

我正在构建一个 Meteor 应用程序,并尝试使用Laika进行测试。我正在 Ubuntu 上的 WebStorm 7 中编写 coffeescript,并尝试使用 WebStorm 的 File Watcher 功能在laika每次更改咖啡脚本文件时重新执行。

作为上下文,我可以laika --ui=bdd在我的项目根目录中很好地运行命令,我什至可以使用 WebStorm 中的终端工具来做同样的事情。但是,当我设置 File Watcher 时,每次都会收到以下错误:

/home/oliver/.meteor/tools/latest/bin/laika --ui=bdd -V
[laika log] accepting the following extensions: (js)

  injecting laika...
  loading phantomjs...
  cleaning up injected code


/home/oliver/.meteor/tools/c2a0453c51/lib/node_modules/laika/lib/app.js:130
    if(err) throw err;
                  ^
Error: spawn ENOENT
    at errnoException (child_process.js:988:11)
    at Process.ChildProcess._handle.onexit (child_process.js:779:34)

我不是一个节点专家,甚至不知道如何调试这个错误,但我希望其他人觉得它微不足道。有任何想法吗?

作为记录,我的配置:

在此处输入图像描述

4

1 回答 1

0

所以事实证明,尽管 WebStorm 这么说Include parent environment variables,但它实际上错过了它的所有好东西PATH。我将我的实际终端PATH变量全部复制粘贴到环境变量中:

PATH=/home/oliver/.meteor/tools/latest/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

......它奏效了!所以就是这样。

顺便说一句,如果您在 Laika 测试中查找库时遇到类似问题,请记住您的测试使用Meteor,但不是npm installMeteor环境中执行,因此您要使用的任何库都应该node_modules放在tests. 我花了一段时间才弄清楚。

于 2014-04-05T03:21:42.823 回答