Покрытие кода агента Sonar + jacoco для модулей, не связанных с веб-службой

Я пытаюсь использовать агент JaCoCo для сбора покрытия кода FT веб-сайта, добавляя "-javaagent..." в Jetty и запуская внешние тесты Selenium (или, например, ручное тестирование).

В конце тестирования у меня есть результаты только для веб-модуля, который фактически был запущен в Jetty, но не для «основных» модулей (в том же проекте), которые используются в веб-модуле. Итак, есть ли возможность собирать звонки для всех модулей проекта?

Действительно, теперь я попытался запустить все веб-сервисы проекта (их 5) с одним и тем же назначением отчета JaCoCo (то есть /tmp/jacoco-res.exec), append=true и запустил:

mvn sonar:sonar -Dsonar.jacoco.itReportPath=/tmp/jacoco-res.exec

Таким образом, сонар теперь использует один и тот же файл отчета JaCoCo для каждого модуля в проекте, а сонар показывает покрытие тестами как для причала, так и для основных модулей.

Применим ли этот подход и верны ли результаты охвата?


person user1932286    schedule 27.12.2012    source источник


Ответы (1)


У меня был аналогичный вопрос, который я задал на Форум пользователей Sonar пару дней назад.

Короче говоря, ваш подход правильный и был также предложен консультантом Sonar (как видно из поста).

  • Выполните анализ Sonar для каждого проекта Maven.
  • Для каждого анализа повторно используйте отчет и передайте свой отчет JaCoCo (используя -Dsonar.jacoco.itReportPath)
  • Sonar извлечет из этого отчета JaCoCo данные о покрытии, связанные с анализируемым проектом Maven. (один из ваших основных проектов)
  • Таким образом, для каждого проекта Maven вы получите покрытие своими интеграционными тестами.
  • Наконец, чтобы охватить ваш веб-сервис интеграционными тестами, вам придется использовать плагин Views: http://www.sonarsource.com/products/plugins/governance/portfolio-management/
  • Создайте представление, которое представляет собой совокупность всех проектов Maven, составляющих веб-службу.
  • Запустите анализ Sonar одного из своих проектов Maven, чтобы Sonar вычислил представление.
  • На панели просмотра вы сможете получить покрытие кода веб-сервиса своими интеграционными тестами.
person ddewaele    schedule 03.01.2013