代码之家  ›  专栏  ›  技术社区  ›  Alvaro Pedraza

声纳排除/包括

  •  3
  • Alvaro Pedraza  · 技术社区  · 6 年前

    我正在努力改进我的项目的覆盖率报告,我想排除一些包 但包括 子包装。例如,我有这个结构

    src/main/java/com/myapp
        └ model
            └ mapper
                └ SomeMapperClass.java
            └ SomeModelClass.java --> exclude this and others...
            └ ...
            └ ClassToInclude.java --> but include this
        └ service
    

    我想排除 model 包装但包括 mapper ClassToInclude . 有没有什么方法可以做到这一点而不必逐个添加每个排除的类?我想要像这样的东西 pom.xml :

    <sonar.coverage.exclusions>
        **/model/**/*.java
    </sonar.coverage.exclusions>
    <sonar.coverage.inclusions>
        **/model/mapper/**/*.java
        **/model/ClassToInclude.java
    <sonar.coverage.inclusions>
    

    感谢您提供任何帮助、指导、选择和/或解决办法。提前谢谢你的回答。

    更新1

    我找到了一个只使用 sonar.coverage.exclusions 通过以下操作获得的属性:

    <sonar.coverage.exclusions>
        **/model/*.java
    </sonar.coverage.exclusions>
    

    这样,您就排除了 模型 但不在 model.mapper . 现在我只需要一种方法来解决如何在排除的包中包含特定的类。

    1 回复  |  直到 6 年前
        1
  •  3
  •   G. Ann - SonarSource Team    6 年前

    尽你所能 排除 一些文件 从覆盖范围 ,你只能 包括 文件作为一个整体。也就是说,排除是粒状的,但包含不是(即 sonar.coverage.inclusions 不存在),所以我认为这不会像你目前尝试的那样起作用。

    这就是说,这应该是可行的,只有排除如果你精心制作它们,即。 **/model/*.java 而不是 **/model/**/*.java .