Параметр отчета о модульных тестах сонара - 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
Все остальные упомянутые вами свойства не существуют и не учитываются.