I am using the following script for jacoco code coverage. HTML reports
display correct results for junit test cases, where as the exec file shows
0% coverage. I am using JUnit testing, and my Unit tests are located at
app/src/test/. I am trying to use this jacoco.exec in jacoco jenkins plugin
to display my results. My jenkins is setup using amtrix project plugin.
What am I doing wrong? My jenkins version is 1.596.2.
I appreciate any inputs on this one.
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.5.201505241946"
}
project.afterEvaluate {
// Grab all build types and product flavors
def buildTypes = android.buildTypes.collect { type -> type.name }
def productFlavors = android.productFlavors.collect { flavor ->
flavor.name }
// When no product flavors defined, use empty
if (!productFlavors) productFlavors.add('')
productFlavors.each { productFlavorName ->
buildTypes.each { buildTypeName ->
def sourceName, sourcePath
if (!productFlavorName) {
sourceName = sourcePath = "${buildTypeName}"
} else {
sourceName =
"${productFlavorName}${buildTypeName.capitalize()}"
sourcePath = "${productFlavorName}/${buildTypeName}"
}
def testTaskName = "test${sourceName.capitalize()}UnitTest"
// Create coverage task of form 'testFlavorTypeCoverage'
depending on 'testFlavorTypeUnitTest'
task "${testTaskName}Coverage" (type:JacocoReport, dependsOn:
"$testTaskName") {
group = "Reporting"
description = "Generate Jacoco coverage reports on the
${sourceName.capitalize()} build."
classDirectories = fileTree(
dir:
"${project.buildDir}/intermediates/classes/${sourcePath}",
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/*$ViewBinder*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
def coverageSourceDirs = [
"src/main/java",
"src/$productFlavorName/java",
"src/$buildTypeName/java"
]
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData =
files("${project.buildDir}/jacoco/${testTaskName}.exec")
reports {
xml.enabled = true
html.enabled = true
html.destination = "${System.getenv('View_Root')}/_Build/Jacoco"
}
}
}
}
}
-Sahana T
--
Azért kapta ezt az üzenetet, mert feliratkozott a Google Csoportok
szolgáltatásbeli Jenkins JaCoCo plugin mailing list csoportra.
Az erről a csoportról és az ahhoz kapcsolódó e-mailekről való leiratkozáshoz
küldjön egy e-amailt a(z)
[email protected] címre.
Ha üzenetet szeretne küldeni ebbe a csoportba, küldjön egy e-mailt a(z)
[email protected] címre.
További lehetőségekért látogasson el a(z) https://groups.google.com/d/optout
címre.