首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在自定义SonarQube插件中对未经测试的文件强制0%的代码覆盖率?

如何在自定义SonarQube插件中对未经测试的文件强制0%的代码覆盖率?
EN

Stack Overflow用户
提问于 2016-01-11 14:43:56
回答 1查看 132关注 0票数 1

我正在尝试开发一个SonarQube插件。我目前的问题是代码覆盖率。正如许多其他语言插件一样,我必须解析一个XML报告,该报告只包含被测试接触到的文件的覆盖率信息,因此覆盖率很高,因为所有未触及的文件都丢失了。

现在,我尝试使用以下代码强制对那些未经测试的文件进行0%的覆盖率:

代码语言:javascript
复制
for (String token : line.split(" ")) {
    if (ArrayUtils.contains(CONDITION_KEYWORDS, token)) {
        keywords++;
    }
}
coverageMeasuresBuilder.setHits(lineNumber, 0);
if (keywords > 0) {
    coverageMeasuresBuilder.setConditions(lineNumber, (int) Math.pow(2, keywords), 0);
}

这段代码将针对每一行执行,在保存所有行之后,这些度量将被保存。这如预期的那样工作(覆盖率现在更正确了),但是在SonarQube web界面上发生了一些奇怪的事情:如果我使用上面的代码并单击“单元测试覆盖率”,则只显示覆盖率为0%的文件,并且不再列出具有真实覆盖率信息的文件。如果我不使用这段代码,我只能看到测试所接触的文件。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-18 06:59:10

我们在我们的驱动系统中使用了插件,因为我们没有其他选择。昨天,一些开发人员提出了一些排除请求,突然显示了所有的软件包。我猜SonarQube有一个包的限制,它可以显示在覆盖率视图中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34724211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档