У меня есть мультипроектная сборка 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] Удалить.
я говорю два предложения