0

我是 nodeJS 和 Jake 的新手,但在我的公司中,他们使用它来运行单元测试。这就是他们通过 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. 在特定位置安装 jake (.\node_modules.bin\jake)
  3. 运行单元测试

我想在不使用 ant 的情况下实现相同的目标(运行测试)。我想我可以执行前两步,但卡在第三步。我尝试从各个目录运行命令 - Jake local 但没有成功

如果有人可以帮助我吗?

4

1 回答 1

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)。

第二个命令运行jake 的本地版本(运行上一步后安装在node_modules文件夹中的那个)。

第三个命令只是一个cmd暂停执行的工具。

只要您已经安装了依赖项,您在没有 ANT 的情况下运行 jake 应该没有问题(只需运行上面的第二个命令,替换${basedir}值,并确保在您所在的目录中运行它package.json)。

于 2016-07-29T14:38:37.383 回答