#sonarqube
Вопрос:
У меня есть проект react typescript, и я пытаюсь использовать сканер сонара для локального покрытия кода. Я сгенерировал lcov.info
файл с помощью npm test --coverage
. Теперь я пытаюсь заставить сонар-сканер прочитать lcov.info
файл, однако я думаю, что сонар-сканер не читает lcov.info
файл.
в сонар-проекте.свойства:
sonar.sources=src
sonar.exclusions=**/__tests__/**/*, **/*.d.ts, src/serviceWorker.ts
sonar.tests=src
sonar.test.inclusions=**/__tests__/*
sonar.javascript.lcov.reportPaths=**/lcov.info
Я тоже пробовал использовать sonar.typescript.lcov.reportPaths=**/lcov.info
, но это не решает проблему.
В журналах сонарсканера я нашел это.
INFO: Sensor JaCoCo XML Report Importer [jacoco]
INFO: 'sonar.coverage.jacoco.xmlReportPaths' is not defined. Using default locations: target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml,build/reports/jacoco/test/jacocoTestReport.xml
INFO: No report imported, no coverage information will be imported by JaCoCo XML Report Importer
INFO: Sensor JaCoCo XML Report Importer [jacoco] (done) | time=5ms
Я думаю, может показаться странным, что это есть в журналах, учитывая, что это не Java-проект. Что я могу сделать, чтобы сканер сонара мог считывать мои lcov.info?
Ответ №1:
sonar.javascript.lcov.reportPaths
Свойство принимает список путей, разделенных запятыми. Это означает, что вы не можете использовать **
для поиска во всех каталогах.
Пример:
- структура файла:
your-project-root |- src - build |-lcov1.info -lcov2.info
sonar-project.properties
:sonar.javascript.lcov.reportPaths=build/lcov1.info,build/lcov2.info