Как интегрировать автономные исполняемые файлы 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

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

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

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

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

файл