ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-声纳排除/包含

2019-11-09 02:04:51  阅读:13  来源: 互联网

标签:sonarqube maven code-coverage 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,则应该可行.



标签:sonarqube,maven,code-coverage,java

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有