У меня есть Java-проект. Покрытие кода этого проекта согласно подключаемому модулю Jacoco eclipse (EclEmma Java Code Coverage 2.3.1.201405111647) составляет 22,3%. Я создаю отчет .exec и передаю его в SonarQube и запускаю анализ с помощью Sonar runner. Покрытие кода, показанное в веб-интерфейсе SonarQube, в результате составляет 20,2%. Значения покрытия на уровне пакета также отличаются от того, что показывает подключаемый модуль Jacoco для eclipse. Как это возможно? Разве SonarQube не берет значения из отчета .exec, созданного Jacoco?
Значения процента покрытия кода в подключаемом модуле Jacoco eclipse и SonarQube отличаются
Ответы (1)
Jacoco основан на анализе байт-кода. Файл exec объединяется с файлами классов, чтобы получить окончательные значения покрытия кода. Проблема в моем случае заключалась в том, что байт-код, созданный компилятором Eclipse для Java (для плагина Jacoco eclipse) и код, созданный Javac (во время анализа на эхолоте), отличались. Следовательно, значения покрытия кода, сгенерированные обоими инструментами, были разными.
person
umairaslam
schedule
20.08.2014
Как ты это починил?
- person Nelson Ramirez; 24.10.2016
@NelsonRamirez использует один и тот же компилятор (поставщик, версия) в обоих случаях.
- person Godin; 31.10.2016