2012-06-07 3 views
2

Использование: JaCoCo 0.5.3, Maven2, Sonar 2,14, сонар-Maven-плагин 1,8, 3,0 SùartGWT
В настоящее время пытается: Получить покрытие кода на Sonar моих модульных тестов Selenium.
Проблема: Покрытие кода не перемещается с 0%, хотя датчик запускается правильно, проанализируйте jacoco.exec, который правильно сгенерирован.
Ressources:https://gist.github.com/2888912 pom.xmlПокрытие кода Jacoco и Sonar?

Это было около 2 недель я пытаюсь получить покрытие кода. Я обновил Sonar с 2,10 до 2,14, изменил каждое свойство сонара, попробовал плагин jacoco (для maven), и я до сих пор НЕ получаю никаких результатов. Поэтому, если у кого-то были такие же проблемы и нашли решение, не могли бы вы рассказать мне, как вы его работаете?

Я уверен, что мои тесты должны генерировать не менее 0,5% покрытия кода. Мои тесты Selenium действительно выполняются в SeleniumTestLoginEntry.java, есть ли у вас какие-либо случаи? Должен ли я назвать это TestLoginEntry.java? (Проверенный класс - LoginEntry.java) Я использую surefire, чтобы запустить javaagent JaCoCo (см. Тег), и он фактически GENERATES jacoco.exec.

Пожалуйста, дайте мне помочь, я полностью потерял я только одна неделя осталась, чтобы заставить его работать ... :(
Спасибо заранее.

+0

Пробовал ли вы: [плагины кода покрытия] (http://docs.codehaus.org/display/SONAR/Code+coverage+plugins)? –

+0

@ajozwik Да, я уже это читал. Я уже добавил свойства. – Depado

+0

Добавьте только ' jacoco' к вашему pom. Удалить java-агент, раздел jacoco (только оставить версию плагина jacoco). Sonar создаст собственный файл pom, найдет его в '$ {basedir}/target/sonar/sonar-pom.xml' –

ответ

4

Я в несколько иной настройки, чем вы используя Ant и Sonar 3.01, но ... было одно свойство, которое сделало трюк для меня, которое казалось почти полностью недокументированным, когда я смотрел. Я заметил, что на страницах вики были обновления за последние пару дней, что возможно, изменили ситуацию док.

<property name="sonar.core.codeCoveragePlugin" value="jacoco" /> 
<property name="sonar.jacoco.reportPath" value="${test.log.dir}/jacoco.exec"/> 

Установка sonar.jacoco.reportPath явно в файл, п из каталога, что, наконец, работало для меня.

+0

На самом деле я думаю: я не запускаю агент Jacoco в нужное время, или мои тесты не генерировать покрытие кода, поскольку отчет jacoco: (цель maven, которая генерирует HTML-страницу с охватом) говорит мне, что существует 0% -ный охват кода. Вы используете smartGwt, и если да, не могли бы вы привести мне пример? Кстати спасибо за ваш ответ, я попробую. – Depado

+0

У меня возникли проблемы с получением задания на сонар для запуска тестов и сбора данных jacoco за один шаг, поэтому я решил отделить эти действия. Я запускаю агент Jacoco как часть запуска модульных тестов, что является отдельным шагом (цель в Ant-speak, цель в maven). Я завершаю, прежде чем начинать что-либо с помощью сонара. Поэтому я могу запустить отчетную задачу (которая должна быть муравьиной записью в jacoco: отчет) и увидеть результаты перед заполнением сонара. К тому времени, когда я запускаю мишень сонара, у меня есть файл jacoco.exe. Из вашего описания это звучит так, будто вы вообще не получаете никаких результатов Jacoco. –

+0

Правильно, jacoco: отчет не дает мне результата. Я не знаю, если: я не запускаю агент правильно или мои тесты не генерируют покрытие кода. – Depado