#php #sonarqube #phpunit #code-coverage
#php #sonarqube #phpunit #покрытие кода
Вопрос:
У меня проблема с импортом рапорта покрытия кода из PHPUnit в Sonarqube.
- SonarCube V7.4
- PHPUnit 5.7.2
- PHP 7.3.4.1
phpunit.xml
<logging>
<log type="coverage-clover" target="_reports/logs/clover.xml"/>
<log type="coverage-xml" target="_reports/coverage/coverage.xml"/>
<log type="testdox-text" target="_reports/testdox/executed.txt"/>
</logging>
sonar-project.proporties
sonar.tests=tests
sonar.php.coverage.reportPaths=tests/_reports/logs/clover.xml
После запуска тестов в phpunit отчеты генерируются должным образом в tests/_reports.
После запуска analize с помощью sonar анализ завершается успешно без сбоев, но покрытие не отображается.
Я не знаю, где я делаю ошибку в своих конфигурациях. Что я могу сделать, чтобы повторно использовать его? Заранее благодарю вас.
Ответ №1:
PHPUnit 5.7.2 генерирует покрытие xml с абсолютным путем, если вы используете vagrant или docker, а затем запускаете sonar в Windows, проверяя, действительны ли эти пути. В следующий раз запустите sonar с флагом -X, чтобы получить больше информации.
Комментарии:
1. Спасибо вам, вы правы, я использую vagrant, и проблема была с путями.
2. У меня была такая же проблема с Docker. Чтобы исправить это, я запустил sonar-scanner из контейнера с проектом, где пути к классам были сгенерированы PHPUnit. После этого у меня появилось покрытие в SonarQube.