Покрытие кода в Android Studio 1.2 для инструментальных тестов

Я пытался использовать новую функцию покрытия кода в Android Studio 1.2. Документации по этой фиче вроде нет, но пока решил добавить

    testCoverageEnabled true

к отладочной версии моего файла Gradle.

Тем не менее, я могу создавать отчеты о покрытии кода только для тестовых случаев JUnit, а не для тестовых случаев Android.

Есть ли способ создать покрытие кода для инструментальных тестов Android?


person Till Krempel    schedule 11.05.2015    source источник
comment
Вы добавили apply plugin: 'jacoco' в свой build.gradle? Также вы запускаете задачу «connectedCheck», это создаст отчеты о покрытии кода после запуска тестов. Если это не сработает, вам может потребоваться добавить дополнительные сведения, такие как файл build.gradle и команды, которые вы используете.   -  person Phil H    schedule 13.05.2015


Ответы (2)


  1. Добавьте репозиторий plugins.gradle

В файле проекта build.gradle (root/build.gradle) добавьте url "https://plugins.gradle.org/m2/" в разделы buildscript > repositories. В моем проекте это выглядит так:

buildscript {
  repositories {
    mavenCentral()
    jcenter()
    maven {
        url "https://plugins.gradle.org/m2/"
    }
}
  1. Применить плагин jacoco

Плагин можно применить в проекте build.gradle или (как в моем случае) в конкретном модуле build.gradle (module/build.gradle):

apply plugin: 'com.vanniktech.android.junit.jacoco'

Примените плагин в самом верху скрипта сборки перед входом в раздел android.

  1. Синхронизировать сейчас при появлении запроса.
  2. Запустите gradlewconnectedCheck

Из Терминала запустите:

Окна

gradlew.bat connectedCheck

Линукс (другое)

./gradlew connectedCheck
  1. Результаты будут созданы в /module/build/reports/androidTests/connected/index.html.

Рекомендации:

https://plugins.gradle.org/plugin/com.vanniktech.android.junit.jacoco https://github.com/vanniktech/gradle-android-junit-jacoco-plugin/

person Malba    schedule 29.08.2017

Как отметил @Phil H, вам нужно добавить плагин jacoco для создания отчетов, и вам нужно запустить connectCheck для запуска тестов, которые генерируют данные. Вы можете найти сообщение здесь: новая ссылка: https://medium.com/@rafael_toledo/setting-up-an-unified-coverage-report-in-android-with-jacoco-robolectric-and-espresso-ffe239aaf3fa с дополнительной информацией.

person DanCo    schedule 19.08.2015
comment
Хотя теоретически это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки . - person NathanOliver; 19.08.2015
comment
Ссылка в ответе мертва. - person Randy; 14.06.2018