首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只从Travis发送数据到工作服,而不是在本地测试时。

只从Travis发送数据到工作服,而不是在本地测试时。
EN

Stack Overflow用户
提问于 2014-08-03 19:03:56
回答 1查看 1.4K关注 0票数 6

我有一个应用程序(https://github.com/idmillington/dendry),它使用Travis来监控构建状态。我使用伊斯坦布尔来概括一个覆盖报告,我想把它发送到工作服,为自述生成一个覆盖按钮。

所有这些我都能找到工作。但是..。

当我在本地运行npm test时,我不想发送覆盖范围数据。我通常会在每次提交时运行npm test数十次。但当我推和特拉维斯做它的事情,我希望特拉维斯更新我的报道。

我可以在我的package.json里看到这样的东西:

代码语言:javascript
复制
"scripts": {
    "test": "./node_modules/.bin/istanbul test ./node_modules/.bin/_mocha",
}

这对当地很好,不更新工作服,但特拉维斯也不会更新工作服。或者我可以:

代码语言:javascript
复制
"scripts": {
    "test": "./node_modules/.bin/istanbul test ./node_modules/.bin/_mocha && ./node_modules/coveralls/bin/coveralls.js < ./coverage/lcov.info",
}

这对于Travis来说是完美的,但是每次我在本地运行npm test时都会尝试将数据推送到工作服中。

据我所知,我不能要求Travis运行npm test以外的其他东西。

我不愿意要求任何潜在的用户或贡献者记住使用

代码语言:javascript
复制
$ npm run-script test-local

或者类似的情况,特别是在运行npm test时,如果没有正确的工作服私钥,就会产生上传错误。

这里有什么方法可以让你做出正确的行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-06 21:01:00

事实证明,答案非常简单。Travis允许您在脚本运行时调用任何您喜欢的脚本,因此我将其添加到我的.travis.yml文件中:

代码语言:javascript
复制
script: npm run-script test-on-travis

因此,在package.json中,我可以定义:

代码语言:javascript
复制
"scripts": {
    "test": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha",
    "test-on-travis": "./node_modules/.bin/istanbul cover --report lcovonly ./node_modules/.bin/_mocha && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"
}

一切都很好。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25108072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档