покрытие кода показывает нулевой процент — SonarQube

#sonarqube #sonarqube-scan

#sonarqube #sonarqube-сканирование

Вопрос:

Мы используем SonarQube 6.4

Покрытие кода как для внешнего интерфейса (JavaScript), так и для внутреннего кода (java) показывает 0%

введите описание изображения здесь

введите описание изображения здесь

Разработчики утверждают, что у них есть модульные тестовые примеры для каждой функции или класса, которые они пишут

Это приложение имеет уровень базы данных

Что означает покрытие кода 0%?

Ответ №1:

Как указано в документах, sonarqube не выполняет тесты, он просто импортирует отчет, сгенерированный другими инструментами, чтобы отобразить их вместе с другим анализом.

Итак, я предполагаю, что вы не настроили свою цепочку CI для генерации отчетов о тестировании, которые будут отображаться в sonarqube.

Комментарии:

1. Я вижу, что отчеты о тестировании находятся в рабочей области Jenkins. Нужно ли мне настроить jenkins для отображения отчетов о тестировании в Sonarqube? Если да, то как

2. @overexchange я не знаком с javascript или jenkins, однако, если у вас есть отчеты о тестировании, сгенерированные jacoco (java) и lcov (js), и эти отчеты находятся в папке, проанализированной sonar-scanner, тогда вам просто нужно добавить свойства sonar.jacoco.reportPaths и sonar.javascript.lcov.reportPaths в файл конфигурации sonar.properties, указывающий, где найти эти файлы.

3. Является ли файл конфигурации sonar.properties входным сигналом только для sonar sonar scanner? Пересылает ли sonar scanner отчеты на сервер sonar Qube?

4. @overexchange да и да, однако эти вопросы действительно находятся в первых строках документации sonarqube…

5.удалось сгенерировать покрытие с помощью jacoco и передать эти свойства в medium.com/backend-habit /… sonnarscanner sonar.projectKey=b sonar.sources= sonar.java.binaries= sonar.sourceEncoding=UTF-8 sonar.language=java sonar.junit.reportsPath=xxx/target/surefire-reports sonar.surefire.reportsPath=xxx/target/surefire-reports sonar.verbose=true sonar.jacoco.reportPaths=xxx/target/coverage-reports/jacoco-unit.exec sonar.java.coveragePlugin=jacoco