问答 jacoco 报告中无法查看代码

小断腿 · 2019年04月26日 · 最后由 树叶小记 回复于 2020年03月06日 · 2664 次阅读

[求助] 通过 jacoco 查看 android 中代码覆盖率,但是在报告中无法查看到源码执行情况

环境

  • jacoco + gradle

配置情况

def coverageSourceDirs = [
        '../src/main/java'
]
task jacocoTestReport(type: JacocoReport) {
    group = "Reporting"
    description = "Generate Jacoco coverage reports after running tests."
    reports {
        xml.enabled = true
        html.enabled = true
    }
    classDirectories = fileTree(
            dir: './build/default/intermediates/classes/debug',
            excludes: ['**/R*.class',
                       '**/*$InjectAdapter.class',
                       '**/*$ModuleAdapter.class',
                       '**/*$ViewInjector*.class'
            ])
    sourceDirectories = files(coverageSourceDirs)
    executionData = files("$buildDir/outputs/code-coverage/connected/coverage.ec")

    doFirst {
        new File("$buildDir/intermediates/classes/").eachFileRecurse { file ->
            if (file.name.contains('$$')) {
                file.renameTo(file.path.replace('$$', '$'))
            }
        }
    }
}

结果


只能查看到方法试图,无法再次进入,查看到方法中的源码

共收到 2 条回复 时间 点赞

请问下你这个问题解决了吗?我也遇到无法查看代码的问题

一般这种问题都是 class 文件 和 java 文件 没有匹配。可以仔细查看下 是否有对应的 class 文件和对应的 java 源文件

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册