2016-07-29 101 views
0

我是新来的NodeJS和Jake但在我的公司,他们都用它来运行单元tests.This是他们如何通过蚂蚁如何解释并运行以下ant命令?

<exec executable="cmd" dir="${nodeJsTests.basedir}/../nodejs/"> 
     <arg value="/C"/> 
     <arg value="start cmd /C &quot;npm install &amp; .\node_modules\.bin\jake local dir=${basedir} --trace &amp; pause&quot;" /> 
    </exec> 

运行单元测试从我的理解是,他们正在做下面的事情在这段代码中,如果我错了,请纠正我的错误

  1. 去nodejs driectory。
  2. 在特定位置安装杰克(\ node_modules.bin \杰克)
  3. 运行单元测试

我想达到相同的(运行测试),而无需使用ant.I想我能够做前两步,但坚持在第三步。我试图运行命令 - 杰克本地从各种目录,但没有成功

如果有人可以帮助我呢?

回答

1

它更容易看到发生了什么,如果你解析字符串中的第二arg值:

npm install & .\node_modules\.bin\jake local dir=${basedir} --trace & pause 

这是为了基本运行这3个命令的简写方式:

  1. npm install
  2. .\node_modules\.bin\jake local dir=${basedir} --trace
  3. pause

第一个命令安装在您的package.json文件(大概包括jake)中定义的所有依赖关系。

第二个命令运行杰克(即安装在node_modules内运行的前面的步骤之后文件夹中的一个)的本地版本。

第三个命令只是一个cmd util来暂停执行。

只要你安装了依赖关系,在没有ANT的情况下运行jake应该没有问题(只需运行上面的第二条命令,替换${basedir}的值,并确保在与package.json相同的目录中运行它)。