【发布时间】:2012-09-09 04:44:52
【问题描述】:
我正在尝试让 travis-ci 使用 jasmine-node 测试我的 nodejs 模块。当我从命令行运行测试时,它们都通过了,但无论出于何种原因,Travis 总是将我的构建报告为失败。我的 .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"
有什么想法吗?
【问题讨论】:
-
你有 jasmine-node 作为开发依赖吗?失败的 Travis-CI 测试的输出是什么?因为它是公开的,所以你应该只发布一个测试链接。
-
其实我刚开始跑步。我现在发布我的答案。
-
还请注意,您可以使用 --save-dev 标志将开发依赖项添加到您的 package.json。示例:
npm install --save-dev jasmine-node -
@Noah,我可以这样做而不是使用之前的脚本,但是我必须将测试命令更改为
node_modules/jasmine-node/bin/jasmine-node tests/*.spec.js之类的东西。我不确定哪个是首选。而且我不知道您可以指定在 package.json 中全局安装 dep。 -
您是想使用全局还是本地开发依赖,这取决于您。我喜欢尽可能地控制东西。因此,在我的项目中,我喜欢在 node_modules 中使用本地二进制文件。我使用 makefile 运行测试并将本地二进制文件的路径指定为 makefile 中的变量。然后在 package.json 中指定
make test作为 scripts: test 命令。这允许其他人安装您的模块并执行npm test,而无需任何模糊的全局要求
标签: node.js travis-ci jasmine-node