J'utilise JUnit5 sur un serveur d'applications backend SpringBoot utilisant Maven. Voici la sonar-project.properties
fichier à la racine du projet:
sonar.Host.url=https://sonarcloud.io
sonar.login=xxx
sonar.organization=xxx
sonar.projectKey=xxx
sonar.sourceEncoding=UTF-8
sonar.language=Java
sonar.Java.source=12
sonar.sources=src/main/Java
sonar.test=src/test
sonar.Java.binaries=target/classes
sonar.junit.reportPaths=target/test-results/TEST-**.xml
Je utilise le sonar-scanner
ligne de commande pour exécuter la mise à jour du projet après un build/test.
La carte Overview
sur sonar-cloud ressemble à ceci:
J'ai au moins obtenu que les tests unitaires soient reconnus, mais je suis toujours à 0% en termes de couverture de code. De plus, voici le tableau Measures
:
Apparemment, mes tests ne couvrent aucune ligne. Maintenant, je suis conscient que cela signifie que je n'ai probablement pas correctement branché les résultats des tests, mais je ne sais pas comment faire.
Ce qui me laisse perplexe aussi, c'est que même si SonarQube reconnaît mes tests, il dit en fait que les lignes de code des tests eux-mêmes ne sont pas testés. Qu'est-ce que cela signifie?
Voici le travail sonar-project.properties
fichier:
# SONAR CLOUD CONFIGS
sonar.Host.url=https://sonarcloud.io
sonar.organization=xxx
sonar.projectKey=xxx
sonar.login=xxx
# SOURCES
sonar.Java.source=12
sonar.sources=src/main/Java
sonar.Java.binaries=target/classes
sonar.sourceEncoding=UTF-8
# EXCLUSIONS
# (exclusion of Lombok-generated stuff comes from the `lombok.config` file)
sonar.coverage.exclusions = **/*Exception.Java , **/MySpringBootApplication.Java
# TESTS
sonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
sonar.junit.reportsPath=target/surefire-reports/TEST-*.xml
sonar.tests=src/test/Java