Sonar does not shows up Code Coverage after build successful with Jenkins Sonar plugin

72,610

Solution 1

I read https://docs.sonarqube.org/display/PLUG/Code+Coverage+by+Unit+Tests+for+Java+Project and used cobertura as my code coverage plugin then I see code coverage displays for small projects. When I check for a big project in sonar I just see code coverage as - that means its empty. In logs I could find that Cobertura report was not found at /.../coverage.xml path.

coverage.xml was not generated due to OutOfMemeryError:heapspace. Since my project is such a big project when I set heap memory to 2GB and cobertura plugin memory to 1.5GB sonar gets code coverage displayed.

Solution 2

According to this blog post, you probably forget to set the sonar.binaries property in your project properties

Don’t forget sonar.binaries, otherwise, you might get something like « Project coverage is set to 0% since there is no directories with classes. » in your logs.

[...]
sonar.surefire.reportsPath=target/surefire-reports
sonar.jacoco.reportPath=target/jacoco.exec
sonar.binaries=target/classes
[...]

Solution 3

Your Sonar plug-in cannot find the report file generated by Jacoco.

In your pom(parent or child) look for the <destFile> tag under jacoco/prepare-agent execution. Change the name and the location to target/jacoco.exec and you are good to go!

Share:
72,610
Venkat
Author by

Venkat

Updated on March 05, 2020

Comments

  • Venkat
    Venkat about 4 years

    I am trying to get code coverage with Sonar and Jenkins. I see Jenkins' Sonar plugin successfully executes JUnit test cases and completes build successfully. But Sonar does not show Code Coverage results (always shows 0.0% as the code coverage) on the project. But Sonar does show "Unit test success".

    I am using Maven with Jenkins and Sonar.

    I get the below message in Jenkins logs while executing the Sonar plugin:

    Project coverage is set to 0% as no JaCoCo execution data has been dumped: .../sonar/target/jacoco.exec
    

    Can any one help me how to get correct code coverage on any Sonar project.