我的情况非常相似。我有一个coverage.ec 文件,但我不知道如何将其转换为可读的报告。 这篇文章对我很有帮助。
那里有比您可能需要的更多的信息,但对我来说,重要的部分是将其添加到 build.gradle 中:
apply plugin: 'jacoco'
def coverageSourceDirs = [
'src/main/java',
'src/debug/java']
task jacocoTestReport(type : JacocoReport, dependsOn : 'testDebugUnitTest') {
group = 'Reporting'
description = 'Generate JaCoCo coverage reports'
reports {
xml.enabled = true
html.enabled = true
}
classDirectories = fileTree(
dir : 'build/intermediates/classes/debug',
excludes : [
'**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/*$ViewBinder*.*',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/*RealmProxy.*',
'**/*ColumnInfo.*',
'**/*RealmModule*.*',
'**/AutoValue_*.*',
'**/Dagger*.*',
'**/*Module_Provide*Factory.*',
'**/*_Factory.*',
'**/*_MembersInjector.*',
'**/*_LifecycleAdapter.*'
]
)
sourceDirectories = files(coverageSourceDirs)
executionData = fileTree(
dir : "$buildDir",
include : [ 'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/connected/*coverage.ec' ]
)
doFirst {
files('build/intermediates/classes/debug').getFiles().each { file ->
if (file.name.contains('$$')) {
file.renameTo(file.path.replace('$$', '$'))
}
}
}}
Run Code Online (Sandbox Code Playgroud)
从这里,我将coverage.ec 文件放置在app/build/outputs/code-coverage/connected/coverage.ec 中。
之后,我运行 jacocoTestReport gradle 任务,它为我的单元测试和位于 app/build/reports/jacoco/jacocoTestReport/html/index.html 中的coverage.ec 文件生成合并报告
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3468 次 |
| 最近记录: |