2015-06-17 44 views
1

当我运行gradlew test jacocoTestReport时,任务jacocoTestReport将运行并获得测试报告。
当我运行gradlew integTest jacocoTestReport时,跳过任务jacocoTestReport。Gradle&Jacoco:获取除“test”以外的测试类型任务的jacoco报告

下面是从我的build.gradle相关摘录:

apply plugin: 'jacoco' 

jacocoTestReport { 
    group = "Reporting" 
    description = "Generate Jacoco coverage reports after running tests." 
    additionalSourceDirs = files(sourceSets.main.allJava.srcDirs) 

    doLast { 
     println 'See report at: file://' + projectDir + '/build/reports/jacoco/test/html/index.html' 
    } 
} 


test { 
    filter { 
     // only run tests ending in *UnitTest 
     includeTestsMatching "*UnitTest" 
    } 
} 


task integTest(type: Test) { 
    filter { 
     includeTestsMatching "*IntegTest" 
    } 
    jacoco { 
     destinationFile = file("$buildDir/jacoco/integTest.exec") 
     classDumpFile = file("$buildDir/classes") 
    } 
} 

的gradle这个文件并没有帮助我在这里,和广泛的谷歌搜索并没有产生任何结果,无论是。

任何想法如何让jacoco做我的集成测试报告?

编辑:单元-&集成 - 测试是在相同的目录中,它们通过它们的文件名进行区分,以防万一不明确。

回答

0

事实证明,这个工程:

task integTestReport (type: JacocoReport) { 

    executionData project.tasks.integTest 

    sourceDirectories = project.files(project.sourceSets.test.allSource.srcDirs) 
    classDirectories = project.sourceSets.test.output 

    def reportDir = project.reporting.file("jacoco/integTest/html") 
    reports { 
     html.destination = reportDir 
    } 
    doLast { 
     println "See report at: file://${reportDir.toURI().path}index.html" 
    } 
} 

我希望这是有益:)

编辑:这需要晚文件比integTest任务的定义英寸
我有我的build.gradle结束时的整个jacoco配置。

相关问题