Мы используем какой-то пользовательский шаблонизатор, который содержит нормальный синтаксис HTML и некоторые пользовательские теги, и среди прочего он может содержать некий вид сценариев, который выполняется на стороне сервера. Мы написали несколько модульных тестов, которые подтверждают содержание этих пользовательских шаблонов и выдают ошибку, когда используются некоторые элементы скрипта, которые запрещены.
Мы используем Jest в качестве тестового прогона и создаем протокол испытаний Sonar Qube с jest-sonar-reporter
. Я установил sonar.tests
, чтобы указать на наши тесты как sonar.tests=spec
. В пользовательском интерфейсе Sonar Qube в разделе Администрирование> Веб-область я расширил sonar.web.file.suffixes
и нашим расширением. Когда мы запускаем Sonar Qube в нашем конвейере развертывания, я вижу в логах
07:08:49.291 INFO: Sensor Generic Test Executions Report
07:08:49.291 WARN: Property 'sonar.genericcoverage.unitTestReportPaths' is deprecated. Please use 'sonar.testExecutionReportPaths' instead.
07:08:49.291 INFO: Parsing /codebuild/output/src915641274/src/reports/test-report.xml
07:08:49.491 INFO: Imported test execution data for 0 files
07:08:49.491 INFO: Test execution data ignored for 2 unknown files, including:
/codebuild/output/src943613774/src/spec/isml.spec.js
/codebuild/output/src943613774/src/spec/files.spec.js
Наши sonar-project.properties выглядят так:
sonar.host.url=<host_url>
sonar.login=<token>
sonar.projectKey=<project_key>
sonar.projectName=<project_name>
sonar.sources=cartridge,spec
sonar.verbose=true
sonar.inclusions=**/js/**/*.js,**/templates/**/*.isml
sonar.tests=spec
sonar.testExecutionReportPaths=reports/test-report.xml
В этом проекте у меня есть js
и web
в качестве языков. Если я захожу в пользовательский интерфейс Sonar Qube и проверяю этот проект в Показатели> Покрытие> Тесты , я не вижу импортируемых тестов покрытия. Итак, мой вопрос: правильно ли я понял импорт покрытия JUnit или я что-то упустил в конфигурации Sonar Qube?