Travis-CI与茉莉节点

我试图让travis-ci用jasmine-nodetesting我的nodejs模块。 当我从命令行运行testing时,它们都通过了,但无论什么原因,Travis总是报告我的构build失败。 我的.travis.yml如下所示:

language: node_js node_js: - 0.6 - 0.8 

和我的package.json看起来像这样:

 "scripts": { "test": "jasmine-node tests/*.spec.js" } 

我已经尝试添加一个before_script到我的travis.yml

 language: node_js node_js: - 0.6 - 0.8 before_script: - "sudo npm i -g jasmine-node" 

有任何想法吗?

花了一些时间与TravisCi lintnetworking应用程序 ,它看起来就像是在我的.travis.yml文件格式化的问题。 我的文本编辑器插入标签,看起来yaml要求你只使用空格。 我还在每件事情上都加了引号,以便做好准备。

现在看起来像这样,确保我只使用单个空格和换行符:

 language: node_js node_js: - "0.6" - "0.8" before_script: - "npm i -g jasmine-node" 

这是一个存储库,其中有一个travis build的工作例子,启动了jasmine-nodetesting: https : //github.com/yosethegame/yosethegame 。

请注意, package.json声明了travis将安装在npm install阶段的jasmine-node依赖项。

前段时间我有类似的问题,当时我正在使用jasmine-node -g,因为它是一个简单的卡塔我认为没有必要在文件夹中添加package.json,但是当我转移到集成与travis-ci同样的项目,我经历了地狱,可以configuration它。

随着时间的推移,我已经了解到最好保持事情的好,并且使用友好的package.json代替全局安装(这里有一个很好的文章,例如: 为什么要避免全局testing运行 )

我的build议是给你添加jasmine-node到package.json,这个简短的东西

 { "name" : "XXX", "version" : "1.0.0", "devDependencies" : { "jasmine-node" : "latest" }, "scripts" : { "test" : "jasmine-node specs/*spec.js" } } 

一定会让你头痛不已,而且不仅仅是用travis-ci集成来configuration时间,还可以节省别人的时间,以防有人想重复使用你所做的事情。 ;)