Sto utilizzando JaCoCo per la copertura del codice. I report Unit Test vengono creati con junit e vengono importati correttamente, in modo che le informazioni sul test dell'unità vengano visualizzate correttamente. Il problema è che viene visualizzato il messaggio di errore: Nessuna informazione sulla copertura per test. e la copertura del codice mostra il valore 0% per i test unitari, i test di integrazione e la copertura complessiva. ho controllato tutte le informazioni richieste nei sonar-project.properties come binario, src, test eccJaCoCo - SonarQube - Nessuna informazione sulla copertura per test
sto usando:
- SonarQube 4.5.1
- SonarRunner 2.4
- MySQL
- JUnit 4.1.1
- jacoco 0.7.2
jacoco.exec si trova in un file/destinazione nella directory di base del progetto.
Di seguito è possibile vedere il sonar-project.properties: Dal mio punto di vista tutti i percorsi necessari sono impostati correttamente. (cioè binari, src, test)
Comma-separated paths to directories with sources (required)
sonar.sources=src
compiled code
sonar.java.binaries=class
source code of unit tests
sonar.tests=test/src
Comma-separated paths to files with third-party libraries (JAR files in the case of Java)
sonar.java.libraries=jar
Language
sonar.language=java
Encoding of the source files
sonar.sourceEncoding=UTF-8
Additional parameters
sonar.my.property=value
Set Project Base
sonar.projectBaseDir=C:/snapshots/steffen_latest/software/java
Tells SonarQube to reuse existing reports for unit tests execution and coverage reports
sonar.dynamicAnalysis=reuseReports
JUnit path
sonar.surefire.reportsPath=test/report/junit
Tells SonarQube where the unit tests execution reports are
sonar.junit.reportsPath=test/report/junit
Tells SonarQube that the code coverage tool by unit tests is JaCoCo
sonar.java.coveragePlugin=jacoco
Import JaCoCo code coverage report.
Tells SonarQube where the unit tests code coverage report is
Unit Tests Coverage
sonar.jacoco.reportPath=target/jacoco.exec
Tells SonarQube where the integration tests code coverage report is
sonar.jacoco.itReportPath=target/it-jacoco.exec
Questo è il file di log da sonar-runner:
13:56:05.883 INFO - Sensor SurefireSensor...
13:56:05.883 INFO - parsing C:\work\snapshots\steffen_latest\software\java\test\report\junit
13:56:06.149 INFO - Sensor SurefireSensor done: 266 ms
13:56:06.149 INFO - Sensor JaCoCoItSensor...
13:56:06.195 INFO - Analysing C:\work\snapshots\steffen_latest\software\java\target\it-jacoco.exec
13:56:06.726 INFO - **No information about coverage per test**.
13:56:06.726 INFO - Sensor JaCoCoItSensor done: 577 ms
13:56:06.726 INFO - Sensor JaCoCoOverallSensor...
13:56:06.851 INFO - Analysing C:\work\snapshots\steffen_latest\software\java\.sonar\jacoco-overall.exec
13:56:07.178 INFO - **No information about coverage per test**.
13:56:07.178 INFO - Sensor JaCoCoOverallSensor done: 452 ms
13:56:07.178 INFO - Sensor JaCoCoSensor...
13:56:07.209 INFO - Analysing C:\work\snapshots\steffen_latest\or_base\software\java\target\jacoco.exec
13:56:07.521 INFO - **No information about coverage per test**.
13:56:07.521 INFO - Sensor JaCoCoSensor done: 343 ms
13:56:07.521 INFO - Sensor CPD Sensor (wrapped)...
13:56:07.521 INFO - JavaCpdEngine is used for java
13:56:07.521 INFO - Cross-project analysis disabled
13:56:09.019 INFO - Sensor CPD Sensor (wrapped) done: 1498 ms
13:56:09.144 INFO - Execute decorators...
13:56:16.166 INFO - Store results in database
qualcuno potrebbe darmi un consiglio quello che potrebbe essere il problema? Dal momento che non so qual è il problema ... sto lavorando su questi problemi da qualche giorno e io davvero non so cosa fare ..
Grazie in anticipo.
copertura per test è un'informazione sulla parte superiore della copertura. La copertura per test è l'informazione su quale test ha riguardato il file. (mentre la copertura ti informa solo su quali linee sono state coperte dai test). Quindi, ti preghiamo di chiarire la tua domanda sulla base di tali informazioni, poiché il messaggio "Nessuna informazione sulla copertura per test" solo ci informa che non hai usato alcun ascoltatore per scaricare sessioni jacoco tra ogni test. – benzonico
Grazie per il suggerimento. Il problema era che non usavamo alcun ascoltatore per scaricare sessioni jacoco tra ogni test. – Stelos10
Qualche possibilità di postare come l'hai configurato? Ho lo stesso problema –