我目前正在尝试用 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%)
关于c# - 使用 FxCop 获得百分比代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44507394/