【问题标题】:Show C# code coverage on GitHub pull requests?在 GitHub 拉取请求上显示 C# 代码覆盖率?
【发布时间】:2017-02-18 09:52:40
【问题描述】:

我们正在使用 C# 6.0 项目,并使用 Gitub 进行版本控制。我们还使用 Travis 构建并使用它来检查拉取请求。

有没有办法让 Travis(或其他服务)计算我们的代码覆盖率并在拉取请求中显示该值?

【问题讨论】:

标签: c# github continuous-integration travis-ci pull-request


【解决方案1】:

我刚刚通过这个Pull request添加到Greentube.Monitoring Github repository

工具有多种选择,但我将描述我想出的设置:

我将 Travis-CI 和 AppVeyor 用于 CI,但由于 OpenCover doesn't work on Linux or MacOS,我只能从 AppVeyor 生成封面数据。

需要注意的是,OpenCover 当前为doesn't support portable pdbs,这是 .NET Core 项目的默认设置。出于这个原因,我创建了一个名为 Coverage 的项目配置,其中我有 full pdbs

在本地正确生成覆盖率报告后,您可以在Codecov 上创建一个帐户并链接您的存储库。您需要发送第一份报告才能在其中查看任何内容。

我写了一个script,这样我就可以在将覆盖率发送到codecov之前在本地查看/调整覆盖率报告。考虑到如果由于某种原因您不想使用 codecov,还有许多其他选项。

无论是在本地还是在 AppVeyor 上,您都需要指定 Codecov Token 才能上传覆盖数据。您可以通过将参数传递给 CLI 工具或设置环境变量 CODECOV_TOKEN 来使用它。 AppVeyor 有一个 Environment 部分,您可以在其中定义它(这就是为什么您不会在我的脚本中找到任何硬编码的令牌)。

最后,我添加了带有项目状态codecov.yml,它启用了Github Status integration

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 1970-01-01
    • 2012-01-18
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 2022-11-30
    • 2013-11-21
    相关资源
    最近更新 更多