Guest User

Untitled

a guest
Dec 17th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. apply plugin: 'jacoco'
  2.  
  3. dependencies {
  4. implementation 'com.android.support.constraint:constraint-layout:
  5. testImplementation 'junit:junit:4.12'
  6. testImplementation 'org.hamcrest:hamcrest-all:1.3'
  7. testImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
  8. }
  9.  
  10. android {
  11. defaultConfig {
  12. minSdkVersion 22
  13. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  14. }
  15.  
  16. productFlavors {
  17. }
  18.  
  19. buildTypes{
  20. debug{
  21. testCoverageEnabled true
  22. }
  23. }
  24. }
  25.  
  26. task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) { //we use "debug" build type for test coverage (can be other)
  27. group = "reporting"
  28. description = "Generate unified Jacoco code coverage report"
  29.  
  30. reports {
  31. xml.enabled = true
  32. html.enabled = true
  33. }
  34.  
  35. def fileFilter = [
  36. '**/*Test*.*',
  37. '**/AutoValue_*.*',
  38. '**/*JavascriptBridge.class',
  39. '**/R.class',
  40. '**/R$*.class',
  41. '**/Manifest*.*',
  42. 'android/**/*.*',
  43. '**/BuildConfig.*',
  44. '**/*$ViewBinder*.*',
  45. '**/*$ViewInjector*.*',
  46. '**/Lambda$*.class',
  47. '**/Lambda.class',
  48. '**/*Lambda.class',
  49. '**/*Lambda*.class',
  50. '**/*$InjectAdapter.class',
  51. '**/*$ModuleAdapter.class',
  52. '**/*$ViewInjector*.class',
  53. '**/*_MembersInjector.class', //Dagger2 generated code
  54. '*/*_MembersInjector*.*', //Dagger2 generated code
  55. '**/*_*Factory*.*', //Dagger2 generated code
  56. '*/*Component*.*', //Dagger2 generated code
  57. '**/*Module*.*' //Dagger2 generated code
  58. ]
  59. def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter) //we use "debug" build type for test coverage (can be other)
  60. def mainSrc = "${project.projectDir}/src/main/java"
  61.  
  62. sourceDirectories = files([mainSrc])
  63. classDirectories = files([debugTree])
  64. executionData = fileTree(dir: "$buildDir", includes: [
  65. "jacoco/testDebugUnitTest.exec", //we use "debug" build type for test coverage (can be other)
  66. "outputs/code-coverage/connected/*coverage.ec"
  67. ])
  68. }
Add Comment
Please, Sign In to add comment