Юнит-тесты JavaScript не работают на SonarQube

У меня ниже проблемы с SonarRunner.

SonarQube и бегун Sonar не могут получить отчеты формата Junit XML

Виджет модульных тестов или тестового покрытия не отображается. Это говорит Нет данных. Я следую инструкциям, описанным здесь

Я вручную создал файл отчета в формате XML, как описано, но все же не повезло.

Ниже приведен XML-файл - TEST-Firefox_210_Mac_OS.com.company.BarTest.xml,

<testsuite name="Firefox_210_Mac_OS.com.company.BarTest" errors="0" failures="0" tests="3" time="0.0">
  <testcase classname="Firefox_210_Mac_OS.com.company.BarTest" name="testfullName" time="0.0"/>
</testsuite>

Чтобы получить отчет о выполнении модульного теста, чтобы показать на приборной панели сонара. Я использовал пример проекта git отсюда

и ниже мой sonar-project.properties,

# project metadata (required)
sonar.projectKey=org.codehaus.sonar:javascript-sonar-runner-jstestdriver
sonar.projectName=JavaScript project with Sonar Runner reusing reports generated by JsTestDriver
sonar.projectVersion=1.0

# path to source directories (required)
sonar.sources=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources

# path to tests source directories (required)
sonar.tests=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests

sonar.javascript.jstestdriver.reportsPath=C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/target/TEST-Firefox_210_Mac_OS.com.company.BarTest.xml


sonar.sourceEncoding=UTF-8

ниже мой jsTestDriver.conf

server: http://localhost:9876

load:
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources/*.js
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/sources/com/company/*.js
test:
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests/*.js
 - C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/tests/com/company/*.js

plugin:
 - name: "coverage"
   jar: "coverage-1.3.5.jar"
   module: "com.google.jstestdriver.coverage.CoverageModule"

Мой sonarqube работает на порту: 9000 и ниже снимок экрана. Как вы видите, SonarRunner и jsTestDriver просто выполняют анализ кода и не показывают никаких модульных тестов.

1 ответ

На веб-сайте SonarQube doc сказано, что jsTestDriver запустит модульные тесты javascript и скопирует результаты в целевую папку в формате XML.

SonarQube не запускает ваши юнит-тесты, он просто собирает отчеты, сгенерированные из вашего ручного запуска или автоматического запуска других инструментов (например, Jenkins).

Из документа SonarQube:

Перед анализом SonarQube выполните свои модульные тесты, чтобы сгенерировать отчет XML. Поддерживается JUnit-подобный формат XML, сгенерированный js-test-driver


Затем я вручную создал файл отчета в формате XML, как описано, но все равно не повезло.

Если вы создали вручную файлы отчетов и отчеты по-прежнему не отображаются, проверьте правильность пути. Проверьте, действительно ли сонар считывает данные с C:/Sonar/sonar-runner-dist-2.4/sonar-runner-2.4/projects/ дорожка

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