情况是这样的:我是 Node.js 的一个完整的 n00b,我正在开发我的第一个包。该存储库设置在 GitHub 上,我使用 Mocha 创建了一些工作测试,并将其添加到 Travis CI。刚才,我偶然发现了通过 Mocha使用伊斯坦布尔的代码。
问题是,尽管我整天都在尝试建立一个将伊斯坦布尔数据传送到 Coveralls.io 的系统,但我就是想不通。我试过使用node-coveralls包,它提供了这个示例脚本:
istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage
但是,由于我使用的是 Windows 计算机,因此我没有该cat
命令。由于我在编写脚本方面也是一个完整的 n00b,所以我在谷歌上搜索并试验了一个小时并想出了这个:
istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && ./coverage/lcov.info > ./node_modules/coveralls/bin/coveralls.js 2>&1 && rm -rf ./coverage
我不确定这是否将输出传送到coveralls.js
或是否附加输出。它没有出错,所以我尝试推送它,但是 Travis CI 上的每个 Node 版本都失败了。
此外,我的仓库的工作服页面仍在“为 Ruby + Travis CI 设置工作服”页面上。我创建了一个.coveralls.yml
文件,但它目前是空的。所以我想我有两个问题:
- 如何在 Windows 上设置系统以将伊斯坦布尔数据传输到节点工作服?
- 我是否需要将我的回购令牌放入
.coveralls.yml
文件中才能注册?我很确定我不会,因为 Coveralls 强调将令牌保密。
如果在 GitHub 上托管了一个使用 Mocha + Istanbul + Coveralls 的基本 Node 包,我很想看看它是如何设置的。
还有一件事:我不确定我需要将脚本放在回购的确切位置。它在 中的after-success
部分.travis.yml
吗?