1

是否有一种方法可以根据复杂性比率(例如方法/功能级别的循环复杂性)收集/报告单元测试覆盖率?

原因/意图是提供一个可衡量的指标,以显示任何基于复杂性而具有较高缺陷可能性的区域实际上具有适当的单元测试覆盖率(即通过更改例如,度量为 '100% 的 Cyclomatic Complexity >= 10)。

我的用例目前是 Java/junit,达到相同意图的不同方法也会有所帮助(不必完全是基于 Cyclomatic 的方法/函数,而是类似的测量类型)。

编辑:如果有适用于 java 和 .NET 的具有相似功能的代码覆盖工具,那将是惊人的。

谢谢你!-达伦

4

1 回答 1

1

免责声明:我是 Atlassian 的 Clover 开发人员。我看到你已经用“三叶草”标记了你的问题,所以我正在回答:-)

在 Clover 中,您可以通过两种方式进行操作(也可以将它们组合起来):

1)您可以定义上下文过滤器,并且不要检测具有圈复杂度 <= N 的方法。请参阅 <clover-setup maxComplexity="NN">

2)您可以定义您的自定义指标,例如将覆盖率值(或更好 - '未覆盖'值)乘以圈复杂度。这样的度量将显示复杂的、未发现的方法比简单的、未发现的方法更重要。见 <clover-report> / <columns>

哦。还有一件事。Clover 会自动为您完成 :-) 在 HTML 报告中,您可以看到 Top Project Risks 指标的“标签云”,它采用覆盖率+复杂性来显示应用程序中最潜在的关键部分。

参考:

于 2013-11-05T20:40:28.790 回答