Skip to content
Advertisement

Setting up properly SonarQube for Code Coverage

I’m using JUnit5 on a SpringBoot backend application server using Maven. Here is the sonar-project.properties file that is at the root of the project:

JavaScript

I use the sonar-scanner command line to run update the project after a build/test.

The Overview board on sonar-cloud looks like this:

overview

I at least got the unit tests to be recognized, but somehow I’m still at 0% in terms of code coverage. Furthermore, here is the Measures board:

measures

Apparently, my tests do not cover any lines whatsoever. Now, I’m aware that this means that I most probably didn’t hook up the test-results properly, but I’m not sure how to do that.

What puzzles me, too, is that despite SonarQube recognizing my tests, it actually says that the lines-of-code of the tests themselves aren’t tested. What is this supposed to mean?

Testing tests?

Advertisement

Answer

From SonarQube’s documentation:

SonarSource analyzers do not run your tests or generate reports. They only import pre-generated reports.

A popular library for generating code coverage for Java is Jacoco.

SonarQube provides this guide to create and import Jacoco’s reports.

Advertisement