是否有方法根据方法/功能级别的复杂性比例(如Cyclomatic Complexity)收集/报告单元测试覆盖率?
原因/意图是提供一个可衡量的指标,以显示任何基于复杂性的缺陷概率较高的区域实际上具有适当的单元测试覆盖率(即超出“100%”或“80%”范围的度量标准)通过将度量标准更改为“循环复杂度的100%> =例如10”。
我的用例目前是Java / junit,并且达到相同意图的不同方法也会有所帮助(不一定是基于Cyclomatic的精确方法/功能,而是类似的测量类型)。
编辑:如果有一个代码覆盖工具具有类似的java和.NET功能,那将是非凡的。
还得感谢! -Darren
答案 0 :(得分:1)
免责声明:我是Atlassian的Clover开发人员。我看到你用'三叶草'标记了你的问题,所以我回答: - )
在Clover你可以用两种方式完成它们(也可以组合它们):
1)您可以定义上下文过滤器,不要使用圈复杂度< = N来检测方法。请参阅< clover-setup maxComplexity =“NN”>
2)您可以定义自定义指标,例如通过圈复杂度来乘以覆盖值(或更好 - “未覆盖”值)。这样的度量将显示复杂的,未被发现的方法,这些方法比简单的,未被发现的方法更重请参阅< clover-report> /< columns>
喔。还有一件事。 Clover会自动为您执行此操作:-)在HTML报告中,您可以看到Top Project Risks指标的“标签云”,它采用覆盖率+复杂性来显示应用程序中最具潜在关键的部分。
参考文献: