如何将报道数据从伊斯坦布尔发送到Coveralls.io?

时间:2016-08-01 22:14:52

标签: node.js windows istanbul coveralls

情况就是这样:我在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文件,但它目前是空的。所以我想我有两个问题:

  1. 如何在Windows上设置系统以将Istanbul数据传输到节点工作服?
  2. 需要将我的repo令牌放在.coveralls.yml文件中以便注册吗?我很确定我没有,因为Coveralls强调将令牌保密。
  3. 如果在GitHub上托管了一个使用Mocha + Istanbul + Coveralls的基本Node包,我很乐意能够看看它是如何设置的。

    还有一件事:我不确定我需要在回购中放置脚本的确切位置。它是否位于after-success的{​​{1}}部分?

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文件