Unit testing Sonarqube对spring boot gradle项目的覆盖率为0%

Unit testing Sonarqube对spring boot gradle项目的覆盖率为0%,unit-testing,gradle,sonarqube,spring-test,Unit Testing,Gradle,Sonarqube,Spring Test,所以我和SonarQube一起工作,我一直被卡住。我的覆盖率是0%,但它不应该是0%(我通过一个简单的测试确保它总是正确运行,并且至少覆盖一个方法) 我在互联网上阅读了很多不同的gradle.build文件,但是我找不到一个适合我的。 另外,我认为问题是sonarqube找不到某些文件,但我找不到可以与我自己的文件进行比较的人的工作目录 Gradle.build plugins { id 'org.springframework.boot' version '2.4.2' id

所以我和SonarQube一起工作,我一直被卡住。我的覆盖率是0%,但它不应该是0%(我通过一个简单的测试确保它总是正确运行,并且至少覆盖一个方法)

我在互联网上阅读了很多不同的gradle.build文件,但是我找不到一个适合我的。 另外,我认为问题是sonarqube找不到某些文件,但我找不到可以与我自己的文件进行比较的人的工作目录

Gradle.build

plugins {
    id 'org.springframework.boot' version '2.4.2'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    id "org.sonarqube" version "3.0"
    id 'jacoco'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '15'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}


dependencies {
    compile 'org.apache.httpcomponents:httpcore:4.4.1'
    compile 'org.apache.httpcomponents:httpclient:4.5'
    implementation('io.jsonwebtoken:jjwt:0.2')
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compile 'junit:junit:4.12'
    implementation 'org.modelmapper:modelmapper:2.4.1'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'mysql:mysql-connector-java'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'org.eclipse.jgit:org.eclipse.jgit:5.4.2.201908231537-r'
    /**
     * JUnit jupiter with mockito.
     */
    testCompile group: 'org.mockito', name: 'mockito-junit-jupiter', version: '2.19.0'

    testCompile group: 'org.mockito', name: 'mockito-core', version: '2.19.0'
    testCompile group: 'org.springframework.security', name: 'spring-security-test', version: '5.1.6.RELEASE'
}

sonarqube{
    properties{
        property 'sonarjava.source', '1.8'
        property 'sonar.java.coveragePlugin', 'jacoco'
    }
}
test {
    useJUnitPlatform()
}
这是我的测试报告所在的文件夹(我想你需要它来帮助我):

生成目录:

jacoco测试目录

有人能帮我解决我的问题吗?如果你想查看目录或其他文件,只需询问并将其添加到帖子中即可。
提前谢谢

您需要确保jacoco在sonarqube之前运行,因此添加如下内容:

tasks["sonarqube"].dependsOn("jacocoTestReport")

另外,请注意,
compile
已被弃用,因此请改用
implementation
testImplementation

答案在我未显示的目录中。我的项目缺少Jacocoreportxml文件。一旦我在终端中使用gradlebuildjacocoreportxml命令添加了它,它就工作了

这就是我下面的答案。如果你认为它是正确的,请接受它:)