Мы недавно обновили до SonarCube 4.3.2. В предыдущей версии (не помните, что это было) было возможно выбрать Jacoco в качестве анализатора покрытия кода и определить исключения в Maven как простое свойство;Исключенные классы, все еще рассчитывающие на общий результат покрытия
например.
<properties>
<sonar.jacoco.excludes>*/cache/*:*/*Application.java</sonar.jacoco.excludes>
</properties>
С этой версией SonarCube возможность выбрать Jacoco больше не существует, так что я пытаюсь заставить его работать по-другому. Много много сообщений по этому вопросу, но никто из них не решил мою проблему. Мне удалось исключить классы, но тогда они отображаются как 0% в SonarCube (и снижают общий охват). Исключение через вышеуказанное свойство больше не работает.
В моем П я добавил следующий плагин:
<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 частично протестирован, но с этой конфигурацией он показывает как 0% в Sonar, поэтому кажется, что исключение работает в некоторой степени. Как я могу сообщить Sonar, что эти исключенные классы должны быть полностью проигнорированы по охвату.
Спасибо, я уверен, что это сработает, но я не хочу определять эти исключения в гидролокаторе. Трудно поддерживать и очень легко заблудиться. Его действительно нужно определить ближе к фактическому источнику. –
Я понимаю ваш вопрос, но, боюсь, на данный момент другого решения нет. –
Ссылка мертва. – Thunderforge