isobretatel
isobretatel

Reputation: 3930

Sonarqube task in Gradle does not produce test coverage

I have multi-project Gradle script. I added to the root project:

buildscript {
    repositories{
        ...
    }

    dependencies { classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2.1") }
}

apply plugin: org.sonarqube.gradle.SonarQubePlugin

sonarqube {
    properties {
        property "sonar.junit.reportsPath", "$projectDir/build/test-results/test"
        property "sonar.host.url", "http://localhost:9000"
        property "sonar.verbose", "true"
    }
}

Sonarqube shows the correct number of tests, but coverage is 0.

I use Gradle 3.0, Java 1.8.0_45, Sonarqube 6.1.

Gradle console shows many "Class not found" messages.

Gradle console also shows message:

"Reports path contains no files matching TEST-.*.xml : myPath\build\test-results\test"

, which is correct, since that particular project does not have any tests.

Upvotes: 1

Views: 3888

Answers (2)

isobretatel
isobretatel

Reputation: 3930

In my child project, I have:

apply plugin: 'java'
apply plugin: "jacoco"

jacocoTestReport {
    reports {
        xml.enabled = true
    }
}

check.dependsOn jacocoTestReport

Run Gradle task "sonarqube" of the root project.

Upvotes: 3

G. Ann - SonarSource Team
G. Ann - SonarSource Team

Reputation: 22804

No SonarQube Analyzer or plugin executes your tests or the coverage calculation for you. You must do those things before analysis and feed the resulting report(s) into your analysis.

Upvotes: 2

Related Questions