Локальный гидролокатор не импортирует lcov.info для проекта react

#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