java-声纳排除/包含

我正在尝试改善项目的覆盖率报告,并且希望排除某些包,但包括子包.例如,我有这种结构

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

我想排除模型包,但包括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中的每个类.现在,我只需要一种方法来解决如何在排除的程序包中包含特定的类.

解决方法:

虽然可以从覆盖范围中排除某些文件,但是只能将整个文件包括在内.也就是说,排除是细粒度的,但不包括(即sonar.coverage.inclusions不存在),因此我认为这不会像您当前尝试的那样起作用.

就是说,如果您仔细地制作排除项,即仅使用排除项,即** / model / *.java而不是** / model / ** / *.java,则应该可行.

上一篇:java-声纳规则S2699:并非所有断言都被识别为有效断言


下一篇:行高 | line-height (Animations & Transitions) - CSS 中文开发手册 - Break易站