我如何制作它以便用户可以从cli安装我的测试包?

时间:2014-05-31 20:41:35

标签: javascript node.js unit-testing jasmine

我为使用jasmine的Web应用程序创建了一个小型测试程序,我正在为轻松下载做准备。在安装我的软件包之前,用户的项目应如下所示:

myProject/
  app/
  lib/
  ...

我希望能够让用户cd到终端中的myProject,发出指向app和lib文件夹的单个命令,然后以此结束:

myProject/
  app/
  lib/
    requirejs
  test/
    lib/
    node_modules/
    specs/
    SpecRunner.html
    server.js
  ...

app /应该包含js项目文件,lib /应该包含项目的所有外部js依赖项,test / lib /应该包含测试的所有外部依赖项。 server.js与nodejs一起运行,并依赖于node_modules /.

中安装的应用程序

这样做的最佳方法是什么?我可以制作一个bash脚本,但我宁愿使用包管理器。我不知道我怎么在凉亭或者npm这样做。我是否正确地认为最好有两个库,一个用于项目,一个用于测试,而不是一个?我知道我可以在bower中将某些包声明为测试包,但看起来它们应该存在于一个单独的库中。

1 个答案:

答案 0 :(得分:1)

  

我认为最好有两个库,一个用于项目,一个用于测试,而不是一个?

没有。 npm-verse中的惯用方法是在test文件夹中的同一个包中进行测试。因为凉亭是基于npm我会说同样适用于那里。如果您不希望bower用户必须下载测试内容,您应该能够忽略bower.json文件中的测试文件夹(根据this answer)。您还应该将仅用于测试的节点模块指定为devDependencies

想要运行测试的开发人员应该使用例如IMO直接从源代码安装它。 git clone git@github.com/your/repo.git(然后只运行npm install)。或者只是npm install x,如果它在npm上可用。即使你真的想在他们自己的软件包中进行测试,我仍然建议不要使用软件包管理器,但要求开发人员将它从repo克隆到测试文件夹中。

无论如何要回答这个问题,下面的单行应该可行(假设是npm,我对bower不太熟悉):

npm install x-test && mv node_modules/x-test test
相关问题