тестирование — модульный тест Jenkins PHP и покрытие кода не могут быть импортированы в SonarQube

Я боролся с импортом результатов юнит-тестов и покрытия кода из Jenkins в SonarQube. На данный момент я убедился, что результаты генерируются так, как они отображаются на странице проекта в Jenkins.

Файл sonar.properties показан ниже. Результаты php были созданы с помощью phpunit, а покрытие кода было создано с помощью phpunit и clover. Для устранения неполадок я включил sonar.php.coverage.reportPath и sonar.clover.reportPath.

sonar.projectKey=projectKey
sonar.projectName=projectKey
sonar.projectVersion=1.0
sonar.language=php
sonar.sourceEncoding=UTF-8

sonar.php.tests.reportPath=report/phpunitresults.xml
sonar.php.coverage.reportPath=report/clover_code_coverage.xml
sonar.clover.reportPath=report/clover_code_coverage.xml

sonar.sources=./src/
sonar.exclusions=./src/tests/**
sonar.tests=./src/tests/
sonar.coverage.exclusions=./src/tests/**/*.php

Все результаты
Охват модульных тестов
0,0%
Линия покрытия
0,0%

Сборки Jenkins не выдают никаких ошибок или полезной информации при определении проблемы, объясняющей, почему результаты не импортируются.

Кто-нибудь может помочь в устранении проблемы?

Благодарю.

  • Бен

0

Решение

Моя проблема заключалась в том, что отчеты о покрытии были созданы на сервере, отличном от того, где sonar-scanner был запущен, и абсолютные пути в clover.xml различались.

Решение было исправить пути:

replace="s|/home/bamboo/project/|`pwd`/|g"sed -i -- $replace report/*.xml
0

Другие решения

Других решений пока нет …