所以我有用C#编写的这个大型代码框架,我想开始编写单元测试。我们有一些单元测试,但只有大约10%到15%的代码覆盖率。显然,我想让我的时间最有用,并开始为具有最多参考文献的方法编写单元测试。
有没有人知道代码分析工具会告诉你哪些方法引用最多?通过这种方式查看,我可以确保最常用的代码经过充分测试,然后从那里开始向后工作,或者至少得到一个区域来集中我的大部分工作。
答案 0 :(得分:3)
听起来像是NDepend的工作。
答案 1 :(得分:2)
为了进一步细化如何使用NDepend实现查找具有大多数引用的方法,您只需要编写以下代码查询,并立即获得引用最多的方法。
from m in Application.Methods
orderby m.NbMethodsCallingMe descending
select new { m, m.MethodsCallingMe }
或者,您可以使用指标Method Rank(通过在方法依赖关系图上应用Google PageRank算法计算)或方法排名和引用数量来计算:
from m in Application.Methods
orderby m.Rank descending
select new { m, m.Rank, m.MethodsCallingMe }
在你的博客文章中你(hype8912)写道:如果你知道NDepend的CQL语法,你可以通过将当前的代码覆盖率结果导入NDepend,然后修改查询以排除已经存在的方法来更进一步代码覆盖率,但现在这对我有用。
代码查询可能如下所示:
from m in Application.Methods
where m.PercentageCoverage < 100
orderby m.Rank descending
select new { m, m.Rank, m.MethodsCallingMe, m.PercentageCoverage, m.NbLinesOfCodeCovered, m.NbLinesOfCodeNotCovered }