c# - 使用 FxCop 获得百分比代码覆盖率

标签 c# unit-testing visual-studio-2010 code-analysis fxcop

我目前正在尝试用 C# 为代码库编写单元测试库。我想查看我的测试实现的代码覆盖率百分比。我正在使用没有任何内置代码分析工具的 VS2010。我已经下载了 FxCop 并将其包含在 VS2010 的外部工具中,但我不知道如何获得代码覆盖率。我相信可以通过为此制定规则来完成,但我不确定。我查看了规则集以及如何创建自定义规则,但我不确定如何实现它或我将使用哪些规则集库。

我对 FxCop 和一般的外部分析工具完全陌生,所以一步一步或任何你能给出的指导都会很棒!

最佳答案

据我所知,FxCop 的任何版本,即使是最新的 CodeAnalysis 2017,都不会导入代码覆盖率数据。

你可以试试这个工具 NDepend .它可以import code coverage data来自 VisualStudio 的覆盖范围、NCover 和 dotCover。然后您可以通过多种方式利用此代码覆盖率数据:

  • 编写一条规则,检查是否所有具有特定属性(例如名为 FullCoveredAttribute 的属性)的类都被 100% 覆盖
  • 编写一个规则,检查所有在基线时被 100% 覆盖的类是否仍然被 100% 覆盖(NDepend 有 baseline 的概念来检查进化)
  • 编写一个规则,将代码覆盖率与各种其他代码指标进行比较,例如 Cyclomatic Complexity , 建议 100% 覆盖复杂的类和方法
  • 使用 metric view 可视化代码覆盖率数据基于彩色 TreeMap 。在下面的截图中,小矩形是方法。该区域与#lines of code 成正比,颜色取决于代码覆盖率百分比(绿色 = 100% 黄色 = 80% 红色 = 0%)

NDepend metric treemap colored code coverage

关于c# - 使用 FxCop 获得百分比代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44507394/

相关文章:

c# - 如何使用Automapper构造没有默认构造函数的对象

涉及多个项目时的 C# 非托管导出 (Robert Giesecke)

c# - 开发多语言 Windows 应用程序 C#

.net - T4 文本模板 - 是否可以从主机获取编译符号?

visual-studio-2010 - 我如何确定我的进程终止的原因

c# - WPF 单选按钮点击区域

c# - VS2010中用MSTest测试运行报错

c# - 单元测试运行的特殊编译器标志

java - 测试 StarTeam 操作

visual-studio-2010 - 用于 x64 调试的 SOS 扩展