Параметр отчета о модульных тестах сонара - sonar.junit.reportPath против sonar.java.junit.reportPath

Я обнаружил, что мой экземпляр Sonar 5.1 или 5.1.1 (с последней версией sonar-runner 2.x) перестал отображать часть информации о модульном тесте (виджет модульного теста) на информационной панели проекта.

Свойства, которые у меня были (в разделе sonarRunner > sonarProperties Грэдла):

     property "sonar.junit.reportsPath", "build/test-results/UT"
     property "sonar.surefire.reportsPath", "build/test-results/UT"

Чтобы исправить это, я должен был также включить следующие свойства:

     property "sonar.java.junit.reportsPath", "build/test-results/UT"
     property "sonar.java.surefire.reportsPath", "build/test-results/UT"

Только для справки: все мои отчеты о тестировании модулей находятся в папке build/test-results/UT, все файлы результатов Integration Tests - в папке unedr build / test-results / IT и т. Д.

Мне интересно, связано ли это с версией Gradle, которую я использую (2.3), или с более поздней версией SonarQube (4.5+), поскольку у меня есть экземпляры SQ 5.1 и 5.1.1. Я знаю, что команда SonarQube начала многоязыковую поддержку начиная с версии 4.12 SonarQube.

Начиная с SonarQube 4.2 можно проводить анализ многоязычного проекта.

Теперь возникает вопрос. Для получения той же информации модульного теста для проектов на основе Groovy мне нужно использовать:

     property "sonar.groovy.junit.reportsPath", "build/test-results/UT"
     property "sonar.groovy.surefire.reportsPath", "build/test-results/UT"

что-то вроде этого, если мой проект имеет код Groovy вместо Java?

Поиск "** sonar.java.junit.reportPath " ** с использованием двойных кавычек показывает, что в Google не найдено никаких результатов, и это вынуждает меня попытаться просмотреть результаты Google, если я могу снова запустить поиск без использования "двойных кавычек" (для этого свойства).

Если сделать то же самое на сайте SonarQube, "окно поиска" показывает:

Ничего не найдено для sonar.java.junit.reportPath. Пожалуйста, попробуйте одно из следующих предложений:

Хоть в Градле, внутри

 sonarRunner task { 
       .. inside ..
       sonarProperties { 
          ... section ... where I define various sonar props..
       } 
       ... 
  }

Я могу определить как sonar.junit.reportPath, sonar.java.junit.reportPath и аналогично sonar.surefire.reporPath и sonar.java.surefire.reportPath, и при запуске задачи sonarRunner в Gradle это не выдает ошибку. Таким образом, это заставляет меня поверить, что переменные свойства являются действительными.

Существуют также проблемы с запуском sonarRunner или отдельной командой sonar-runner для смешанного проекта на основе Java и Groovy (т. Е. Исходный код на Java, но тесты в Groovy). настройка sonar.language=java,grvy не помогло Я разместил этот вопрос на stackru, но до сих пор у меня нет идеального результата / ответа о том, как получить полноценную панель гидролокатора и запустить ее для проектов Groovy, как я получаю для проекта Java.

Groovy project - Sonar - Публикация проекта и данных покрытия кода Unit + Integration Test

PS: я пробовал разные значения для настройки сонара. , переменные (что касается свойств источника сонара, тестов и т. д. и т. д., о которых они упоминали в разделе документации своего сайта)

1 ответ

Единственное действительное свойство для использования на данный момент sonar.junit.reportsPath который сообщит плагину java sonarqube, куда импортировать ваш результат модульных тестов.

Для groovy, это в стадии разработки, см.: http://jira.sonarsource.com/browse/SONARGROOV-2

Все остальные упомянутые вами свойства не существуют и не учитываются.

Другие вопросы по тегам