Gradle, Kotlin, Junit5 и Jacoco - 0% покрытия сообщили - PullRequest
0 голосов
/ 18 мая 2018

Мы хотели бы использовать Gradle совместно с Kotlin и Jacoco (+ JUnit 5) для генерации отчета о покрытии кода.

Наше дерево каталогов проекта выглядит следующим образом:

project/{src,test}/main/kotlin ...

Наш файл build.gradle выглядит следующим образом:

jacoco {
    toolVersion = "0.7.9"
    reportsDir = file("$buildDir/reports")
    applyTo junitPlatformTest
}
jacocoTestReport {
    group = "Reporting"
    description = "Generate Jacoco coverage report."
    classDirectories = fileTree(
            dir: "$buildDir/classes/kotlin/main"
    )
    def coverageSourceDirs = [
            "src/main/kotlin"
    ]
    additionalSourceDirs = files(coverageSourceDirs)
    sourceDirectories = files(coverageSourceDirs)
    executionData = files("$buildDir/jacoco/junitPlatformTest.exec")
    reports {
        xml.enabled = true
        html.enabled = true
        csv.enabled = true
    }

}
test {
    jacoco {
        append = false
        destinationFile = file("$buildDir/jacoco/junitPlatformTest.exec")
        includeNoLocationClasses = true
    }
}
test.dependsOn junitPlatformTest

При такой конфигурации Jacoco генерирует html-отчет и помещает его в build/reports/test/html.Тем не менее, это показывает мне 0% покрытия.Этого не должно быть, потому что у меня есть один контрольный пример, который выполняет все методы для одного фиктивного класса в проекте.

Я просмотрел несколько постов, таких как:

Однако я пока не смог найти решение, которое сработало для меня, но пока,

...