情况就是这样:我在Node.js是一个完整的n00b,而我正在开发我的第一个包。回购在GitHub上设置,我用Mocha创建了一些工作测试,我也把它添加到Travis CI。刚才,我在代码中使用了Istanbul来通过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,我用Google搜索并试验了一个小时,然后想出了这个:
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
文件,但它目前是空的。所以我想我有两个问题:
.coveralls.yml
文件中以便注册吗?我很确定我没有,因为Coveralls强调将令牌保密。如果在GitHub上托管了一个使用Mocha + Istanbul + Coveralls的基本Node包,我很乐意能够看看它是如何设置的。
还有一件事:我不确定我需要在回购中放置脚本的确切位置。它是否位于after-success
的{{1}}部分?
答案 0 :(得分:0)
我已使用https://github.com/pimterry/grunt-coveralls
成功整合了它我添加了.coveralls.yml
令牌为repo_token: xKfOF1Cr********
然后我在grunt文件中给出配置
ci_cd: {
// LCOV coverage file (can be string, glob or array)
src: 'coverage/server/unit/*.info',
options: {
// Any options for just this target
}
}
其中src引用istanbul生成的info文件