new_coverage指标不适用于声纳5.3的“自上次分析”

时间:2016-06-22 01:34:17

标签: sonarqube sonarqube-5.0 sonarqube5.3 sonarqube-web

我的问题是继续New code coverage metrics not returning values from SonarQube 5.3 API

上发布的问题

我们最近推出了Sonar 5.3以利用new_coverage和其他新指标。然而,经过几天的代码分析,我们发现Sonar没有正确地使用new_coverage指标。然而,它能够检测新的违规行为等。

这种情况相当规律,并且发生在几个基于Java的项目中。运行分析后,Sonar将报告ncloc,new_violations等的变化,但不报告new_coverage的var2和fvar2的值。以下是网址https://internal.sonar.server.com/api/resources?resource=prj_key&format=json&metrics=ncloc,new_coverage&includealerts=true&includetrends=true

上一个应用的示例回复

[ { "creationDate": "2016-04-06T15:51:29-0400", "date": "2016-06-20T21:48:27-0400", "description": "", "id": 6610, "key": "<PRJ_KEY>", "lname": "<PRJ_LNAME>", "name": "<PRJ_LNAME>", "p1": "previous_version", "p1d": "2016-06-06T02:21:39-0400", "p1p": "16.06.00-SNAPSHOT", "p2": "previous_analysis", "p2d": "2016-06-20T16:42:38-0400", "p2p": "2016-06-20", "p3": "days", "p3d": "2016-05-22T02:22:57-0400", "p3p": "30", "qualifier": "TRK", "scope": "PRJ", "uuid": "AVPtITChBmbOnKmhsXJi", "version": "16.06.01-SNAPSHOT", "msr": [ { "alert": null, "alert_text": null, "frmt_val": "41,589", "fvar1": "483", "fvar2": "9", "fvar3": "743", "key": "ncloc", "val": 41589.0, "var1": 483.0, "var2": 9.0, "var3": 743.0 }, { "alert": null, "alert_text": null, "frmt_val": "47.9%", "fvar1": "-0.4%", "fvar2": "0.0%", "fvar3": "-0.3%", "key": "coverage", "val": 47.9, "var1": -0.399999999999999, "var2": 0.0, "var3": -0.300000000000004 }, { "alert": "OK", "alert_text": null, "fvar1": "15.2%", "fvar3": "28.1%", "key": "new_coverage", "var1": 15.2317880794702, "var3": 28.1407035175879 } ] } ]

正如您在上面的响应中看到的那样,自上次分析以来我们已经更改了代码行(并且所有这些行都在功能代码中没有被忽略。但是,尽管存在事实,但new_coverage字段的var2没有值。昨天刚刚进行的分析。问题不仅在于API,甚至在UI方面。我们没有看到“自上次分析以来的价值”对于几个指标的新覆盖度量,但其他新的代码指标和总覆盖率都很好。 / p>

1 个答案:

答案 0 :(得分:0)

您可以使用新的代码行而无需新的覆盖范围,例如,如果新的代码行是注释。在这种情况下,你不应该有一个值,因为0意味着0%的新代码被覆盖。

检查指标id Name size Qty 1 box1 10 99 2 box2 12 198 3 box3 14 495 4 box4 16 693 ,它返回新代码需要覆盖的行数。请注意,如果没有要覆盖的新行,则此指标会bug

在用户界面中,已创建ticket