Просмотр отчетов о покрытии кода

Плагин Android Gradle позволяет создавать отчеты о покрытии кода, отслеживающие процент кода, покрываемого тестами. На этой странице описано, как включить отчеты о покрытии кода и создавать их.

Вы можете создавать отчеты о покрытии кода для каждого типа тестов (модульных и инструментальных) для каждого варианта. Вы также можете создавать единые отчеты о покрытии кода для различных типов тестов, модулей и вариантов сборки.

Включить покрытие кода

Для включения покрытия кода необходимо установить значения параметров enableAndroidTestCoverage и enableUnitTestCoverage в значение true в файлах сборки на уровне модуля для каждого варианта, для которого вы хотите получать отчеты о покрытии:

Котлин

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage = true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage = true
        }
    }
}

Классный

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage true
        }
    }
}

Изменить версию Jacoco (необязательно)

AGP автоматически применяет Jacoco при включении покрытия кода для ваших модулей. Однако, если вам необходимо использовать определенную версию Jacoco, вы можете указать ее в файле сборки на уровне модуля:

Котлин

android {
    jacoco {
        version = "JACOCO_VERSION"
    }
}

Классный

android {
    jacoco {
        version = 'JACOCO_VERSION'
    }
}

Создавайте отчеты о покрытии для конкретных вариантов.

Чтобы сгенерировать отчеты о покрытии кода только для модульных тестов или только для инструментальных тестов для конкретного варианта, запустите соответствующие задачи.

Тип теста Командование Местонахождение отчета
модульные тесты ./gradlew : module-name :create VariantName UnitTestCoverageReport path-to-your-project / module-name /build/reports/coverage/test/ variant /index.html
Инструментальные испытания ./gradlew : module-name :create VariantName AndroidTestCoverageReport path-to-your-project / module-name /build/reports/coverage/androidTest/ variant /connected/index.html

Создавайте унифицированные отчеты о покрытии кода.

С помощью задач Gradle createCoverageReport и createAggregatedCoverageReport можно создавать унифицированные отчеты о покрытии кода. Эти задачи позволяют сгенерировать единый HTML-отчет, объединяющий данные о покрытии из различных типов тестов (модульных и инструментальных), модулей и вариантов сборки. Это обеспечивает всесторонний обзор покрытия кода вашего проекта на одной панели мониторинга.

Предварительные требования

  • Android Gradle Plugin 9.2.0-alpha07 или выше

Для создания единого отчета выполните одну из следующих задач из командной строки:

Область охвата Командование Описание Местонахождение отчета
Текущий модуль ./gradlew : module-name :createCoverageReport Создает единый отчет о покрытии кода для текущего модуля, объединяя данные из всех типов тестов. path-to-your-project / module-name /build/reports/code_coverage_html_report/
Текущий модуль и зависимости ./gradlew : module-name :createAggregatedCoverageReport Создает единый отчет о покрытии кода для текущего модуля и всех его зависимостей. Эта задача доступна для модулей приложений и модулей библиотек с включенной функцией публикации . path-to-your-project / module-name /build/reports/aggregated_code_coverage_html_report/

Сгенерированная HTML-страница отчета отображает краткий обзор всех модулей. Вы можете перейти от модуля к пакету, от пакета к классу и от класса к исходному файлу. Щелкните любой файл, чтобы просмотреть код с подсветкой строк и ветвлений:

  • Зеленый: Закрытые линии.
  • Красный: Непокрытые линии.
  • Желтый цвет: Частичное покрытие (некоторые инструкции или ветви отсутствуют).