使用FxCop获取代码覆盖百分比

时间:2017-06-12 19:33:13

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

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

我对FxCop和外部分析工具一般都是新手,所以一步一步或任何方向都可以给你很好!

2 个答案:

答案 0 :(得分:0)

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

您可以尝试使用NDepend工具。它可以从VisualStudio coverage,NCover和dotCover中import code coverage data。然后,您可以通过多种方式利用此代码覆盖率数据:

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

NDepend metric treemap colored code coverage

答案 1 :(得分:0)

代码覆盖率意味着运行检测代码并收集有关正在执行哪些代码路径的统计信息。 FxCop是一种静态分析工具。您有一个XY problem的实例。