2014-10-17 178 views
3

我们最近升级到SonarCube 4.3.2。在他之前的版本中(不记得它是什么),可以选择Jacoco作为代码覆盖率分析器,并将Maven中的排除项定义为一个简单属性;排除的课程仍然计入总覆盖率结果

例如

<properties> 
    <sonar.jacoco.excludes>*/cache/*:*/*Application.java</sonar.jacoco.excludes> 
</properties> 

随着SonarCube的这个版本,选择Jacoco的选项不再存在,所以我试图让它以另一种方式工作。许多许多关于这个问题的帖子,但他们没有解决我的问题。 我设法排除类,但是这些在SonarCube中显示为0%(并降低了总覆盖率)。通过上述财产排除似乎不再有效。

在我的POM我增加了以下插件:

<plugin> 
     <groupId>org.jacoco</groupId> 
     <artifactId>jacoco-maven-plugin</artifactId> 
     <version>0.6.0.201210061924</version> 
     <configuration> 
      <excludes> 
       <exclude>**/SonarTest*</exclude> 
      </excludes> 
     </configuration> 
     <executions> 
      <execution> 
       <goals> 
        <goal>prepare-agent</goal> 
       </goals> 
      </execution> 
      <execution> 
       <id>report</id> 
       <phase>prepare-package</phase> 
       <goals> 
        <goal>report</goal> 
       </goals> 
      </execution> 
     </executions> 
    </plugin> 

的配置似乎确定,因为在Jacoco报告类是完全排除。 SonarTest已经部分测试,但使用这个配置,它在Sonar中显示为0%,所以看起来排除工作在某种程度上是工作的。我怎样才能通知Sonar这些排除的类应该完全忽略覆盖面。

回答

0

我相信你会找到你的答案here

+0

谢谢,我很肯定这会起作用,但我不想在声纳中定义这些排除。这很难保持,很容易迷路。它确实需要更接近实际的来源来定义。 – 2014-10-20 13:38:13

+0

我明白你的观点,但恐怕现在还没有其他解决方案。 – 2014-10-20 13:43:36

+0

链接已死亡。 – Thunderforge 2017-09-06 19:46:26

相关问题