Я работаю над интеграцией тестов Karma в maven и использованием SonarQube для отчетов о покрытии проб.SonarQube не читает покрытие javascript от lcov
В то время как я могу просматривать отчеты о покрытии тестовой оболочки HTML (тип покрытия HTML в karma.conf.js
), я не могу просмотреть результаты в SonarQube, когда тип lcov находится в karma.conf.js
.
Содержание pom.xml
<properties>
<sonar.language>js</sonar.language>
<sonar.exclusions>src/main/content/jcr_root/etc/clientlibs/${apps.project.path}/js/vendor/**</sonar.exclusions>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.javascript.lcov.reportPath>src/main/content/jcr_root/etc/clientlibs/${apps.project.path}/karma_target/lcov.info</sonar.javascript.lcov.reportPath>
</properties>
<build>
<!-- Karma test sonar coverage properties: Start-->
<sourceDirectory>${basedir}/src/main/content/jcr_root/etc/clientlibs/${apps.project.path}/js</sourceDirectory>
<testSourceDirectory>${basedir}/src/main/content/jcr_root/etc/clientlibs/${apps.project.path}/js_test</testSourceDirectory>
Когда я запускаю mvn clean install sonar:sonar
создает lcov.info файл в <sonar.javascript.lcov.reportPath>
, указанной в свойствах.
Содержание lcov.info
файла:
TN:
SF:D:\Workspace\Workspace_MasterCard\Issuer_53\loyalty\aem\loyalty-aem-web\trunk\loyalty-aem-web-ui\src\main\content\jcr_root\etc\clientlibs\loyalty\js\config\namespace.js
FN:15,(anonymous_1)
FNF:1
FNH:1
FNDA:5,(anonymous_1)
DA:2,1
DA:15,1
DA:17,5
DA:21,5
DA:22,0
DA:25,5
DA:28,8
DA:30,5
DA:33,8
DA:36,5
LF:10
LH:9
BRDA:2,1,0,1
BRDA:2,1,1,1
BRDA:21,2,0,0
BRDA:21,2,1,5
BRDA:28,3,0,5
BRDA:28,3,1,3
BRF:6
BRH:5
end_of_record
После запуска, SonarQube панель управления показывает Js нарушения кода, но не заполняет покрытия кода.
конфигурации в karma.conf.js
:
preprocessors: {
'tpl/*.html': 'ng-html2js',
'!(vendor)/*.js': 'coverage'
},
coverageReporter: {
// specify a common output directory
type: 'lcov',
dir : 'karma_target/karma-coverage'
},
SonarQube версия используется в 5.0.1
и JS плагин verison является 2.11
Я предполагаю, что проблема связана с относительными путями, я пошел через эти ссылки here и here, попробовал обновить путь SF до относительно точки lcov.info
файл вручную, все безрезультатно. % все еще 0.
Пожалуйста, дайте мне знать, если я делаю что-то не так. Журнал консоли ниже, все пути, на которые ссылаются, являются правильными.
[INFO] [13:21:32.877] Base dir: D:\Workspace\Workspace_MasterCard\Issuer_53\loyalty\aem\loyalty-aem-web\trunk\loyalty-aem-web-ui
[INFO] [13:21:32.877] Working dir: D:\Workspace\Workspace_MasterCard\Issuer_53\loyalty\aem\loyalty-aem-web\trunk\loyalty-aem-web-ui\target\sonar
[INFO] [13:21:32.886] Source paths: pom.xml, src/main/content/jcr_root/etc/clientlibs/loyalty/js
[INFO] [13:21:32.888] Test paths: src/main/content/jcr_root/etc/clientlibs/loyalty/js_test
[INFO] [13:21:34.441] Analysing D:\Workspace\Workspace_MasterCard\Issuer_53\loyalty\aem\loyalty-aem-web\trunk\loyalty-aem-web-ui\src\main\content\jcr_root\etc\clientlibs\loyalty\karma_target\lcov.info
[INFO] [13:21:34.441] 25/25 source files have been analyzed
Имеет ли 'lcov.info' только эти 9 строк? –
nope, я только что взял скриншот первых строк – SubSul
'lcov.info' должен содержать строки, начинающиеся с DA, чтобы указать строки, которые должны быть покрыты: это случай? Вы также можете предоставить большую часть ваших журналов, по крайней мере, строк выше и ниже 'Анализ ... lcov.info'. –