put the jacoco.gradle
file below somewhere in your app repo (like scripts
folder), and then add apply from: '../scripts/jacoco.gradle'
to your module gradle file.
This will add additional gradle build tasks to your app, in the form of "testFlavourUnitTestCoverage" that you can run manually (e.g. testStagingDebugUnitTestCoverage
) to generate the coverage.
You can edit def excludes
definition to further exclude classes you don't want to generate the coverage for. If you have source in other folders beyond those specified in def coverageSourceDirs
, add them.
This will generate both exec
file used by external code quality analyzers (like Sonarqube), in the build/jacoco
folder, and XML and HTML reports, in the build/reports/jacoco/flavourName
folder.
You can then click through the links in the report and arrive at the annotated code to see exactly which lines are not covered by tests.
So I can run the command with this fork update...
https://gist.github.com/jrgleason/6da9d617d5d99d6345fa8e16b0177b96
But I don't see the reports getting generated