0

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

  1. 如何在 Windows 上设置系统以将伊斯坦布尔数据传输到节点工作服?
  2. 我是否需要将我的回购令牌放入.coveralls.yml文件中才能注册?我很确定我不会,因为 Coveralls 强调将令牌保密。

如果在 GitHub 上托管了一个使用 Mocha + Istanbul + Coveralls 的基本 Node 包,我很想看看它是如何设置的。

还有一件事:我不确定我需要将脚本放在回购的确切位置。它在 中的after-success部分.travis.yml吗?

4

1 回答 1

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 生成的信息文件

于 2016-08-22T20:36:49.043 回答