Нажмите JUnit доклад для сонара Кубе - PullRequest
0 голосов
/ 25 апреля 2018

Мы используем какой-то пользовательский шаблонизатор, который содержит нормальный синтаксис 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?

1 Ответ

0 голосов
/ 27 апреля 2018

Решение:

Значение [value] в отчете JUnit на <file path="[value]"> должно быть относительно значения sonar.tests=.

project
├── src
│   └── ...
└── spec
    ├── isml.spec.js
    └── files.spec.js

Так что в моем случае я использовал sedкоманда и обрезать «абсолютную» часть пути.

...