2015-07-21 109 views

回答

1

testDebug是你单元测试的任务(假设你使用的是Android Gradle插件v1.2 +或其他单元测试插件)。你正在寻找的是connectedAndroidTest任务或其味道。

Here是与espresso测试一起工作的完整jacocoTestReport任务。

apply plugin: 'jacoco' 
jacoco { 
    version "0.7.1.201405082137" 
} 

task jacocoTestReportAndroidTest(type: JacocoReport, dependsOn: "connectedAndroidTest") { 
    def coverageSourceDirs = [ 
      'src/main/java' 
    ] 
    group = "Reporting" 
    description = "Generates Jacoco coverage reports" 
    reports { 
     csv.enabled false 
     xml{ 
      enabled = true 
      destination "${buildDir}/reports/jacoco/jacoco.xml" 
     } 
     html{ 
      enabled true 
      destination "${buildDir}/jacocoHtml" 
     } 
    } 
    classDirectories = fileTree(
      dir: 'build/intermediates/classes', 
      excludes: ['**/R.class', 
         '**/R$*.class', 
         '**/BuildConfig.*', 
         '**/Manifest*.*', 
         '**/*Activity*.*', 
         '**/*Fragment*.*' 
      ] 
    ) 
    sourceDirectories = files(coverageSourceDirs) 
    additionalSourceDirs = files(coverageSourceDirs) 

    if (project.hasProperty('coverageFiles')) { 
     // convert the comma separated string to an array to create an aggregate report from 
     // multiple coverage.ec files 
     def coverageFilesArray = coverageFiles.split(',') 
     executionData = files(coverageFilesArray) 
    } 
    else { 
     executionData = files('build/outputs/code-coverage/connected/coverage.ec') 
    } 
} 
+0

您的链接已中断 – hellyale

+1

@hellyale对不起。我更新了答案。 –

+0

它帮助感谢 –