:jaCoCo testReport SKIPPED

Hi

I’ve set up the JaCoCo plugin in my project as described in the documentation, adding

tasks.test {
    finalizedBy(tasks.jacocoTestReport) // report is always generated after tests run
}
tasks.jacocoTestReport {
    dependsOn(tasks.test) // tests are required to run before generating the report
}

to my root build.gradle.kts.

My project consists of multiple modules, with a structure like:

.
build.gradle.kts
app/build.gradle.kts
app/src/main
app/src/test
mymodule/build.gradle.kts
mymodule/src/main
mymodule/src/test

However, in the ./gradlew test --info output I see:

Task :jacocoTestReport SKIPPED
Skipping task ‘:jacocoTestReport’ as task onlyIf is false.

And I don’t see a jacoco folder in my build/reports. In fact I don’t even have a build/reports folder. I’m wondering if it has something to do with this (see below)?

Task :test NO-SOURCE
Skipping task ‘:test’ as it has no source files and no previous output files.

Adding these outputs also in case they may be relevant:

Task :app:testDevServerDebugUnitTest UP-TO-DATE

Task :app:test
Skipping task ‘:app:test’ as it has no actions.

Finally, I’m sure tests are running for the app and mymodule modules, because I can see html reports in the folders

.
app/build/reports/tests/testDevServerDebugUnitTest/
mymodule/build/reports/tests/testDevServerDebugUnitTest/

The test task in your root project does not have any tests, so what should the JaCoCo report for the root project process? There is no data.

What you probably are after is the JaCoCo Report Aggregation Plugin to get a combined report over all your projects.