我正在尝试改进项目的覆盖率报告,我想要排除一些但包含子包的包。例如,我有这个结构
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>
感谢任何帮助,指南,选项和/或变通方法。提前感谢您的回答。
通过执行以下操作,我找到了一种仅使用sonar.coverage.exclusions
属性来包含子包的方法:
<sonar.coverage.exclusions>
**/model/*.java
</sonar.coverage.exclusions>
通过此操作,您可以排除model
中的所有课程,但不会排除model.mapper
中的所有课程。现在我只需要一种方法来解决如何在排除的包中包含特定的类。
答案 0 :(得分:2)
虽然您可以从 排除某些文件,但您只能包含文件。也就是说,排除是精细的,但包含不是(即sonar.coverage.inclusions
不存在),所以我认为这不会像你当前尝试的那样工作。
尽管如此,如果您仔细制作它们,即**/model/*.java
而不是**/model/**/*.java
,这应该只适用于排除。