Как интегрировать автономные исполняемые файлы JaCoCo из многопроектной сборки Maven в SonarQube

Дэвид М. Карр

У меня есть мультипроектная сборка Maven. Модульные тесты используют PowerMock 1.6.6, и мне удалось сгенерировать отдельные исполняемые файлы Jacoco (0.7.8) для каждого модуля, используя «автономный» процесс. У меня также есть единственный модуль, который использует «отчет-агрегат» для создания одного отчета JaCoCo.

Я сейчас пытаюсь интегрироваться с SonarQube 5.6.5, используя сонар-сканер 2.8.

Используя эту страницу документа, я, естественно, построил командную строку, установив свойство "sonar.jacoco.reportPaths" на список разделенных запятыми путей к файлу "jacoco.exec" в каждом дочернем модуле. Похоже, это не дало никакого эффекта. Я увидел сообщение в выводе " INFO: JaCoCoSensor: JaCoCo report not found : <mycurrentdirectory>\target\jacoco.exec".

Поэтому я вместо этого установил для свойства sonar.jacoco.reportPath то же значение, разделенное запятыми. Это, по крайней мере, возымело эффект, но сбило с толку сканер, поскольку он, очевидно, ожидал, что это будет одно место.

Затем я попытался установить это свойство только для первого из нескольких файлов «jacoco.exec». Это, по крайней мере, завершено, но с минимальными данными о покрытии.

Как мне продолжить? Должен ли я вместо этого каким-то образом использовать цель «слияния» Jacoco, чтобы объединить все мои файлы jacoco.exec в один файл и указать это, или есть другое недокументированное свойство, которое позволяет список путей к файлам?

Дэвид М. Карр

Я подтвердил, что объявленное свойство sonar.jacoco.reportPaths работает только в SonarQube версии 6.2 или новее (документы, по-видимому, были обновлены, чтобы отразить это).

Поэтому я продвинулся вперед с реализацией «слияния», указав наборы файлов для всех модулей. Потребовалось время, чтобы получить правильные данные для этого списка наборов файлов (Maven, как и многие фреймворки, часто ничего не говорит, когда ваши данные конфигурации представляют файлы или компоненты, которые не существуют).

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    Резервное копирование / восстановление kafka и zookeeper

  3. 3

    Редактировать существующий файл Excel C # npoi

  4. 4

    Ipython использует% store magic для получения динамического имени

  5. 5

    Как получить список индексов всех значений NaN в массиве numpy?

  6. 6

    Почему бы не выдать ошибку ERROR в тесте Jasmine?

  7. 7

    Дженерики и потоки Java

  8. 8

    Как отфильтровать несколько столбцов в Qtableview?

  9. 9

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  10. 10

    Как изменить значок приложения для проекта libgdx android

  11. 11

    Thymeleaf не отображает значения в проекте Spring Boot

  12. 12

    Unity Проверить, включен ли Toggle

  13. 13

    Airflow не распознает мои настройки подключения S3

  14. 14

    Flutter: Unhandled Exception: FileSystemException: Creation failed, path = 'Directory: '' (OS Error: Read-only file system, errno = 30)

  15. 15

    Bogue étrange datetime.utcnow()

  16. 16

    На графике Matplotlib не отображается легенда

  17. 17

    Создание X509Certificate2 из ECC X509Certificate выдает исключение System.NotSupportedException в C #

  18. 18

    Как добавить фреймворк в файл в папке «Источники» Xcode Playground?

  19. 19

    Выполнение команд PowerShell в программе Java

  20. 20

    Статус HTTP 403 - ожидаемый токен CSRF не найден

  21. 21

    Инструмент для вставки данных, собранных в электронной таблице, в документ Word или PDF

популярныйтег

файл