Как получить покрытие JaCoCo с Sonar в Дженкинс? - PullRequest
4 голосов
/ 18 января 2012

Я следовал инструкциям здесь
Я не использую Maven.

Мой вывод работы Дженкинса говорит: 12: 32: 33.951 INFO Sensor JaCoCoSensor ... 12: 32: 33.961 INFO Покрытие проекта установлено на 0%, поскольку данные выполнения JaCoCo не были сброшены: /var/lib/jenkins/workspace/SeqGen/SeqGen/jacoco.exec 12: 32: 35.152 INFO Sensor JaCoCoSensor сделано: 1201 мс

Вот мои свойства:

project.home=SeqGen
sonar.projectKey=com.skyboximaging:seqgen
sonar.projectName="SeqGen"
sonar.projectVersion=1.0
sonar.dynamicAnalysis=true
sources=src/java
tests=test/java
binaries=classes
sonar.jacoco.reportPath=jacoco.exec
sonar.jacoco.antTargets=test-with-coverage

На сервере Sonar я установил Общие настройки> Покрытие кода> Плагин покрытия кода на jacoco

Я очень смущен документацией по адресу http://docs.codehaus.org/display/SONAR/Code+coverage+plugins. Я особенно озадачен этим предложением: «Во время анализа сонара плагин Sonar Jacoco позаботится о том, чтобы подключить агента Jacoco к JVM и запустить модульные тесты».

Насколько я могу судить, моя цель Ant не вызывается. Как плагин Sonar Jacoco узнает, где найти мой build.xml?

Что я делаю не так?

Ответы [ 3 ]

5 голосов
/ 23 августа 2012

Они только что выпустили то, что вам нужно: https://wiki.jenkins -ci.org / display / JENKINS / JaCoCo + Plugin

3 голосов
/ 15 августа 2013

Предоставление ответа следующей бедной душе, которая часами пытается выяснить, почему это не работает.Очевидно, эта функция была удалена:

Удалите свойство «sonar.jacoco.antTargets» и связанные с ним классы в плагине

1 голос
/ 18 января 2012

Одна из возможностей заключается в том, что имя вашей задачи ant для junit не совпадает с именем, указанным в свойствах.

Вы указали

sonar.jacoco.antTargets=test-with-coverage

Согласно документации , должна быть цель муравья с точно таким же именем.Также в этой цели, junit должен быть установлен на fork.

...