【问题标题】:Get coverage info from a coverage.ec file从 coverage.ec 文件中获取覆盖信息
【发布时间】:2018-03-02 05:32:16
【问题描述】:

我正在使用一种用于移动测试的工具,该工具在名为 coverage.ec 的文件中生成覆盖率报告(使用 EMMA)。该文件不可读,但我想知道如何访问它包含的信息。我只需要阅读一般的覆盖率。

【问题讨论】:

    标签: android testing mobile jacoco emma


    【解决方案1】:

    我的情况非常相似。我有一个coverage.ec 文件,但我不知道如何将其转换为可读的报告。 This article was very helpful for me.

    那里的信息比您可能需要的多得多,但对我来说,重要的部分是将其添加到 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('$$', '$'))
            }
        }
    }}
    

    从这里开始,我将 coverage.ec 文件放在了我的 app/build/outputs/code-coverage/connected/coverage.ec 中。

    之后,我运行了 jacocoTestReport gradle 任务,它为我的单元测试和来自 app/build/reports/jacoco/jacocoTestReport/html/index.html 中的 coverage.ec 文件的报告生成了一个合并报告

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2015-01-12
      • 1970-01-01
      • 2021-09-26
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      相关资源
      最近更新 更多