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

问题描述:

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

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

据我所知,FxCop,任何版本,甚至是最新的CodeAnalysis 2017,都不会导入代码覆盖率数据。您可以尝试工具NDepend。它可以从VisualStudio覆盖,NCover和dotCover中获得import code coverage data。然后,你可以在许多方式利用这种代码覆盖率数据:

  • 编写检查在一个具有某种属性(如命名FullCoveredAttribute属性),所有的类都是100%覆盖
  • 写规则规则检查基线100%覆盖的所有类仍然100%覆盖(NDepend具有baseline的概念来检查进化)
  • 编写规则以将代码覆盖率与其他各种代码度量值进行比较,如Cyclomatic Complexity,它是建议复杂的类和方法获得100%覆盖
  • Visual使用基于彩色树形图的metric view代码覆盖率数据。在下面的截图中,小矩形是方法。的面积正比于的代码#lines和颜色取决于%的代码覆盖(绿色= 100%黄色= 80%红色= 0%)

NDepend metric treemap colored code coverage

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

+0

我知道我误导了我的问题和我尝试采取的解决方案的路径。与其告诉我我在问自己的问题是多么的错误,要么说我需要尝试一种不同的工具,要么指导我朝着正确的方向发展,因为你清楚地理解了我期待的内容做。请尽量留下评论意见,而不是答案。 – Trisarahtops