I'd like to start generating unit test code coverage reports for my Android application, where the unit tests are not in the androidTest
folder, but in a test
folder that I've created. To start, I've added the following to my build.gradle
file:
buildTypes {
...
debug {
debuggable true
testCoverageEnabled true
}
...
}
Running ./gradlew createDebugCoverageReport
generates reports for my tests in the androidTest
folder, but nothing in the test
folder. How can I create those same coverage reports for the tests in the test
folder?
Android Studio has a built-in feature that allows you to run tests with code coverage. Simply navigate to the src/test/java folder and right click. Then select Run 'Tests in 'java'' with Coverage (awkward use of single quotes theirs not mine).
To calculate the code coverage percentage, simply use the following formula: Code Coverage Percentage = (Number of lines of code executed by a testing algorithm/Total number of lines of code in a system component) * 100.
Run the JUnit. View the results. The results of the run are available in the Code Coverage Results view. If you do not see this view, select Window > Show View > Other > Code Coverage > Code Coverage Results.
I've founded answer here https://stackoverflow.com/a/23965581/1775228 Basically, you add to your gradle file:
debug {
testCoverageEnabled true
}
and
android {
jacoco {
version = '0.7.9'
}
}
After that run
./gradlew createDebugCoverageReport
in terminal and report will be generated in
/build/reports/coverage/debug
in your app folder/module. It worked for me.
For latest version and updates regarding changes read The JaCoCo Plugin.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With