Юнит-тесты 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/
дорожка