2015-03-17 6 views
2

Я борюсь с тех пор, как отчет JaCoCo интегрирован в SonarQube 5.0.1 для нашего проекта. Я всегда читал 0,0% -ый охват в SonarQube.SonarQube 5 с JaCoCo 0.0% Покрытие, почему?

TeamCity 9 создал файл testresults.xml и файл jacoco.exec, который я использую для сонара. TeamCity отображает покрытие, поэтому швы файлов exec должны быть в порядке. И анализ кода Java работает в основном в SonarQube (FindBugs, PMD и т. Д.)

У меня есть проект с несколькими модулями, который по-прежнему построен с Ant. Модульные тесты для «основного» проекта находятся в собственном проекте под названием «junit». Библиотека JUnit 4 используется, но тесты все еще JUnit 3.

Это соответствующие свойства, которые я использую в файле под названием «sonar-project.properties» (?):

core.sonar.tests       = ../junit/src 
core.sonar.junit.reportsPath    = /tmp/testresults.xml 
core.sonar.core.coveragePlugin    = jacoco 
core.sonar.jacoco.reportMissing.force.zero = false 
core.sonar.jacoco.reportPath    = /tmp/jacoco.exec 

недвижимость префикс «ядро» заключается в том, что они настраивают модуль «ядро».

Пути должны быть правильными. Но в нем говорится: «WARN - путь к отчетам не найден: /tmp/testresults.xml» Путь верен, я не знаю, почему это предупреждение появляется.

Нужны ли мне бинарные файлы для покрытия в SonarQube? Я не скомпилировал код.

Или что может быть причиной того, что SonarQube отображает покрытие 0% после запуска сонара?

ответ

1

Первый: /tmp/testresults.xml Это не имеет никакого отношения к покрытию, но с импортом результатов испытаний (количество тестов, успешных тестов).

Нужны ли мне бинарные файлы для покрытия в SonarQube? Я не скомпилировал код.

Ответ на ваш вопрос лежит на этом опросе: Да. Для вычисления покрытия при чтении файла отчета .exec JaCoCo анализатор JaCoCo (используемый в java-плагине) требует входного потока файла .class, поэтому для импорта отчетов JaCoCo требуется байт-код. Поэтому, пожалуйста, скомпилируйте свой проект и предоставите файлы классов через sonar.java.binaries.

+0

спасибо. Теперь я скомпилирую код. –

+0

Слишком короткая кнопка возврата ... Теперь я вижу данные о покрытии в SonarQube. Процент - это не то же самое, что и в TeamCity, я думаю, что забыл исключения и включения. Я также использую ту же версию JaCoCo при создании файла покрытия, как это используется SonarQube. В другом форуме кто-то писал, что есть проблемы совместимости. Однако после нескольких изменений я буду использовать другую версию JaCoCo для создания файла покрытия (на самом деле TeamCity делает это со своей версией JaCoCo). Тогда я узнаю, действительно ли мне нужна точная версия JaCoCo. –

+0

К счастью, не требуется точно такая же версия JaCoCo (SonarQube и TeamCity). Поэтому я думаю, что компиляция отсутствовала. Но все же у меня есть еще один процент для показателей покрытия в SonarQube по сравнению с показателями TeamCity по неизвестной причине, которые мне нужно выяснить, почему это так. –

 Смежные вопросы

  • Нет связанных вопросов^_^