【问题标题】:SonarQube configurable technical debtSonarQube 可配置技术债务
【发布时间】:2014-06-23 13:54:28
【问题描述】:

我们从合作伙伴处获得了一个 Java 应用源代码,但它不包含测试代码。

我们想针对代码运行声纳 qube;但是根据我们的标准质量配置文件(PMD/Findbugs 等),技术债务会因没有测试覆盖率而出现偏差。我尝试禁用覆盖规则,或者将覆盖率设置为 0,但这只会扼杀一切,没有问题,没有技术债务或对代码有用的反馈。

谁能提出一个规则集或机制,使我们能够对代码运行声纳报告并保留一些与技术债务相关的有用反馈?除了写一个新插件....

【问题讨论】:

  • 禁用覆盖规则并重建项目应该可以解决问题。你重建了吗?
  • 是的;禁用覆盖规则“单元测试的分支覆盖率不足”和“单元测试的行覆盖率不足”;重建项目,我们得到 0 个问题、0 个安全违规和 0 个技术债务。如果我不知道更好,我会认为这段代码写得很好......
  • 肯定有问题,检查构建日志是否有提示为什么没有运行静态分析。您是否致电mvn sonar:sonar 而不仅仅是mvn verify? (如果是 Maven)
  • 这是通过 sonar-runner 完成的;而不是 mvn 插件。构建似乎没有任何问题......
  • 所以,分辨率原来是这样。删除项目。删除我已经配置和弄乱的定制质量配置文件。重建项目并针对默认配置文件运行声纳。重新创建质量配置文件(它最初来自另一个项目)。将项目添加到新配置文件。重建应用程序并针对新配置文件运行声纳。然后删除确定的覆盖规则,重新运行构建,一切都很好......技术债务有所减少,因为没有考虑覆盖范围。

标签: java code-coverage sonarqube technical-debt


【解决方案1】:

在今天的声纳配置中,有一个选项可以定义覆盖测试结果文件的位置。声纳只读取文件来确定覆盖范围。

此文件位于默认文件夹中。如果它不存在,声纳将在扫描期间忽略覆盖方面。我有时所做的只是将默认位置更改为某个不存在的文件夹。

我不会在这里给出在声纳中找到此配置的确切路径,因为它会不时更改。但是,您应该很容易找到它。

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 2018-08-17
    • 1970-01-01
    • 2016-04-25
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多