Что я делаю? В настоящее время я работаю над настройкой непрерывной интеграции/поставки для приложений на передней панели. Мы планируем использовать SonarQube в качестве инструмента для улучшения качества кода и хотим импортировать результаты тестирования/кода кода junit в SONAR для дальнейшего анализа.Импорт javascript xml junit тестов в SONAR с помощью jstestdriver сбой
Мне удалось успешно импортировать отчет о покрытии кода JavaScript для SONAR. Мы используем Gulp/Karma/PhantomJS/Jasmine и т. Д. И используем рецензентов Karma/Junit для генерации результатов теста. Имя файла теста Junit - TEST-xunit.xml.
Где я застрял? Мне нужна ваша помощь/экспертное руководство по импорту результатов теста Javascript в SONAR. Я пробовал разные вещи, но каким-то образом не смог импортировать исходные файлы/результаты тестирования в SONAR.
Что я пробовал? Раньше мы использовали SONAR Runner 2.3, SONAR Qube 4.5/Javascript plugin 2.2 и могли импортировать статистику высокого уровня Junit, например, тесты прошли/не удалось. Однако мы не смогли перейти к отдельным тестам, чтобы узнать, какой тест прошел/не прошел ,
Изучая далее, заметил, что плагин 2.3 Javascript добавил больше сообщений для сценария, если он не находит источники тестов. Кроме того, были некоторые другие зависимости, поэтому обновленная версия SONAR до 5.0. Протестировано с помощью SONAR runner 2.4 и наблюдается следующее сообщение. В настоящее время статистика высокого уровня также не импортируется.
JSTestDriverSensor.java код из ГИДРОЛОКАТОРА Javascript плагина на GitHub)
LOG.warn("Test result will not be saved for test class \"{}\", because SonarQube associated resource has not been found using file name: \"{}\"",
getUnitTestClassName(classKey), getUnitTestFileName(classKey));
sonar-runner.properties порожденный ГИДРОЛОКАТОР GULP плагиным (использует ГИДРОЛОКАТОР Runner 2.3)
sonar.projectBaseDir=C:/xxxxx/homepage2
sonar.host.url=http://xxxxx:9000/sonarqube/
sonar.jdbc.url=jdbc:mysql:// xxxxx:3306/sonar
sonar.jdbc.username= xxxxx
sonar.jdbc.password= xxxxx
sonar.projectKey=homepage:0.0.0
sonar.projectName=homepage
sonar.projectVersion=0.0.0
sonar.sources=src/app,src/components
sonar.exclusions=src/**/*spec.js
sonar.tests=test
sonar.language=js
sonar.sourceEncoding=UTF-8
sonar.javascript.lcov.reportPath=reports/coverage/lcov.info
sonar.javascript.jstestdriver.reportsPath=reports/unit
Я даже попробовал разделить SONAR runner 2.4, но продолжаю получать одинаковые сообщения об ошибках.
Вопрос? 1. Должно быть что-то, что я пропускаю и как-то не могу определить, что может быть причиной этого. Я думаю, что либо я устанавливаю неправильный путь тестового каталога, либо JSTestDriverSensor неправильно интерпретирует файл тестового каталога. Предложения? 2. Для начала я просто хочу импортировать образец junit xml-файла, чтобы узнать, успешно ли он импортируется. После этого я могу изменить выход генератора karma junit для соответствия входному junit xml. Здесь нужны некоторые ссылочные примеры.
Прикрепление некоторых журналов. Я изменил junit xml, чтобы установить разные имена классов, чтобы узнать, находит ли JsTestDriverSensor его. Но это не так!
[23:31:24] 23:31:24.122 DEBUG - Language of file 'src/app/main/textOverride.controller.js' is detected to be 'js'
23:31:24.122 DEBUG - Language of file 'src/app/main/main.routes.js' is detected to be 'js'
23:31:24.123 DEBUG - Language of file 'test/app/main/testSpec.js' is detected to be 'js'
[23:31:24] 23:31:24.138 DEBUG - Language of file 'src/components/navbar/navbar.controller.js' is detected to be 'js'
[23:31:24] 23:31:24.169 INFO - 7 files indexed
[23:31:26] 23:31:26.632 INFO - Quality profile for js: Sonar way
[23:31:26] 23:31:26.670 DEBUG - Sensors : QProfileSensor -> JavaScriptSquidSensor -> JsTestDriverSensor -> CoverageSensor -> InitialOpenIssuesSensor -> ProjectLinksSensor -> VersionEventsSensor -> FileHashSensor -> SCM Sensor (wrapped) -> CPD Sensor (wrapped)
23:31:26.671 INFO - Sensor QProfileSensor...
[23:31:26] 23:31:26.680 INFO - Sensor QProfileSensor done: 9 ms
23:31:26.680 INFO - Sensor JavaScriptSquidSensor...
[23:31:26] 23:31:26.950 INFO - 6 source files to be analyzed
[23:31:27] 23:31:27.081 INFO - 6/6 source files analyzed
[23:31:27] 23:31:27.113 INFO - Sensor JavaScriptSquidSensor done: 433 ms
[23:31:27] 23:31:27.114 INFO - Sensor JsTestDriverSensor...
23:31:27.114 INFO - Parsing Unit Test run results in Surefire format from folder C:\xxxxx\homepage2\reports\unit
[23:31:27] 23:31:27.176 WARN - Test result will not be saved for test class "app.main.testSpec", because SonarQube associated resource has not been found using file name: "app/main/testSpec.js"
[23:31:27] 23:31:27.177 WARN - Test result will not be saved for test class "src.app.main.testSpec", because SonarQube associated resource has not been found using file name: "src/app/main/testSpec.js"
Где находятся тестовые файлы? Являются ли они присутствующими при поиске сонара, т. Е. App/main/testSpec.js? –
Да, его настоящее в app/main/testSpec.js ... – Sunil
У меня возникла аналогичная проблема, и я обнаружил, что плагин, похоже, не правильно находит тестовые ресурсы, когда они не находятся в корне места тестирования, а анализ выполняется в Windows. Вы тоже работаете в Windows? – ioscode