OpenCover - 如何查看每个测试的覆盖率?

Posted

技术标签:

【中文标题】OpenCover - 如何查看每个测试的覆盖率?【英文标题】:OpenCover - how to view coverage per test? 【发布时间】:2012-03-18 13:34:19 【问题描述】:

在OpenCover github page 上,我可以看到 OpenCover 支持测试覆盖(“版本 3(测试支持覆盖,调试符号”)。问题是,我不知道如何使用此选项运行 OpenCover。我的工作流程是使用 OpenCover 和 nUnit 运行单元测试,然后使用 ReportGenerator 生成完整的 html 报告并查看它 - 我在任何地方都看不到“测试覆盖率”。

或者我可能弄错了“测试覆盖率”功能?我如何想象这个功能是我可以得到一个问题的答案,例如“我的 TestXYZ() 覆盖了哪些代码行?”。

谁能给我一些关于如何使用该功能的提示?

【问题讨论】:

【参考方案1】:

我将此作为问题提交给了负责报告生成器的 Daniel Palme,他实际上同意添加对此功能的支持!更重要的是,他已经将它放入存储库(http://reportgenerator.codeplex.com/SourceControl/changeset/70732)。

真是个好人!

【讨论】:

【参考方案2】:

您将需要使用 -coverbytest 开关,该开关应在 Usage.rtf 指南中详细说明 - 它使用与覆盖包含/排除相同类型的过滤器。

但是 ReportGenerator 不支持 OpenCover 的 Coverage By Test 功能 - 您需要为此编写自己的报告 - OpenCover 的 XML 很容易理解。

选择测试方法,然后找到记录这些测试方法的代码行。

【讨论】:

ReportGenerator 1.7.0.0 现在支持此功能。下载:reportgenerator.codeplex.com,更多信息可以在我的博客中找到:palmmedia.de/Blog/2012/11/7/…

以上是关于OpenCover - 如何查看每个测试的覆盖率?的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins结合.net平台工具之Opencover

上传NUnit的单元测试结果和OpenCover的单元测试覆盖率到SonarQube服务中

Jenkins结合.net平台工具之ReportGenerator

使用 OpenCover 运行 XUnit 和 FluentAssertions 会给出错误消息

nUnit 的结果未显示在 SonarQube 中

OpenCover 未在 Azure Devops 中上传