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++ - 在 Eclipse 中哪里可以找到解析的 Boost.Test 输出

c# - 定义具有 1 个以上原型(prototype)的函数

c# - 如何提取 FAT 磁盘镜像?

java - 您将如何测试静态方法 URLEncoder.encode?

unit-testing - Pester 不是模拟点源的函数

c# - 内容响应类型 Image/Png

c# - 如何用空格或缩进注释多行

c# - MVVM DynamicObject + Entity Framework STE 实体 + 属性更改行为

c# 并行运行 selenium 浏览器

c# - Linq 中的 DocumentDb 空间距离返回奇怪的结果