Я пытаюсь понять, как SonarQube обрабатывает покрытие кода для ReactJS.
Я создал базовый c тест Jest, который выполняется с помощью сценария, установленного в моем package.json
:
"test": "react-scripts test --env=jsdom --coverage --testResultsProcessor jest-sonar-reporter",
и установил охват и отчетность как
"jestSonar": {
"reportPath": "reports",
"reportFile": "test-report.xml",
"indent": 4
}
Тест будет пройден, папка покрытия и отчет будут созданы должным образом. Затем я пытаюсь запустить sonar-scanner
, который имеет следующую конфигурацию:
const sonarqubeScanner = require('sonarqube-scanner');
sonarqubeScanner({
serverUrl: 'https://sonarqube.myhost.com/',
options : {
'sonar.sources': '.',
'sonar.exclusions' : 'src/**/*.bak.*, src/**/*.bak, src/**/*.orig, **/*.test.*',
'sonar.inclusions' : 'src/**',
'sonar.tests': "./src/__tests__",
"sonar.test.inclusions": "./src/__tests__/**/*.test.js, ./src/__tests__/*.test.js",
'sonar.javascript.lcov.reportPaths' : 'coverage/lcov.info',
"sonar.testExecutionReportPaths": "reports/test-report.xml",
"sonar.coverage.jacoco.xmlReportPaths" : "reports/test-report.xml"
}
}, () => {});
Сканирование SonarQube вернет SUCCESS
, но когда я перейду go на панель управления SonarQube для своего проекта, я не вижу никаких об обновлениях для покрытия кода, о которых не сообщалось ни в одном модульном тесте.
Есть какие-нибудь подсказки, что с ним происходит?