Подтвердить что ты не робот

Как получить покрытие кода с помощью Android Studio?

Я разрабатываю приложения с помощью Android Studio.
Мне удалось запустить тестовый код.
Но я не знаю, как получить покрытие кода в андроид-студии.

Я уже видел следующие ссылки.
Android Gradle Покрытие кода
Но я не могу дождаться обновления до версии v0.6, поддерживающей emma.

Конфигурация проекта выглядит следующим образом.

Основной код
MyProject/AppName/SRC/Основной/Java/MyPackage/MyClass.java

Тестовый код
MyProject/AppName/SRC/instrumentTest/Java/MyPackage/тест/MyClassTest.java

Конфигурация проекта
MyProject
├─build.gradle
└─AppName
    ├─build.gradle
    └─src
        ├─main
        │   ├─java
        │   │   └─mypackage
        │   │       └─MyClass.java
        │   ├─res
        │   └─AndroidManifest.xml
        └─instrumentTest
            └─java
                └─mypackage
                    └─test
                        └─ MyClassTest.java

4b9b3361

Ответ 1

С новой версией Android Studio 1.2 вы можете запускать свои модульные тесты и видеть все покрытие в среде IDE.

Во-первых, вам нужно запустить модульные тесты в IDE. (если вы уже можете, пропустите этот шаг)

Это руководство и демонстрация помогут вам.

Во-вторых, вам нужно создать конфигурацию JUnit Run

enter image description here

В этой конфигурации вы сможете выбрать

  • Тестовый вид: "Все в упаковке"
  • Пакет: [пакет, в котором находятся ваши тесты, например: "com.myapp.tests"]
  • Поиск тестов: по всем зависимостям модуля настройка)
  • VM -options: -ea
  • Рабочий каталог: [каталог вашего проекта]
  • Используйте classpath мода: [выберите ваш модуль]

Если у вас возникли проблемы с созданием конфигурации запуска JUnit, обратитесь за помощью к этому руководству.

Наконец, в последней версии Android Studio вы сможете запустить свою конфигурацию JUnit-Run, нажав кнопку "Выполнить с покрытием".


В Android Studio 2.1.3 это метка Run Unit tests with Coverage, где Unit test - это имя вашей тестовой конфигурации, как показано на следующем снимке экрана:

Android Studio: "Run Unit tests with Coverage" button

Ответ 2

Есть так много ответов, в которых показано, как применить плагин jacoco к проекту студии Android, который устарел, и потратил много времени на то, чтобы найти решение для недавно студии Android (My Android Studio - версия 2.1.2).

  • jacoco плагин встроен для Android Studio gradle, вам нужно просто включить его, как показано ниже:
  buildTypes {
    ...
    debug {
      testCoverageEnabled true
    }
  }
  • После выполнения выше выполните задачу unit test ./gradlew testDebugUnitTest

  • Затем создайте файлы покрытия: ./gradlew createDebugCoverageReport

  • Файлы защиты будут созданы в папке <module>/build/reports/coverage/debug, включите index.html, которую вы можете открыть в браузере, и report.xml, которые вы можете использовать для получения отчета jenkins jacoco plugin или другого, продолжающего интеграцию инструменты.

Для тех, кто получил 0% охват с помощью jenkins jacoco plugin, обязательно используйте правильную версию. цитата из их сайт:

К сожалению, JaCoCo 0.7.5 нарушает совместимость с предыдущим двоичным форматы файлов jacoco.exec. Плагин JaCoCo до версии 1.0.19 основан на JaCoCo 0.7.4, поэтому вы не можете использовать эту версию с проектами, которые уже используют JaCoCo 0.7.5 или новее. Плагин JaCoCo начиная с версии 2.0.0 использует JaCoCo 0.7.5 и, следовательно, требует также эта версия будет использоваться в ваших проектах. Пожалуйста, придерживайтесь JaCoCo плагин 1.0.19 или ниже, если вы все еще используете JaCoCo 0.7.4 или ниже

Ответ 3

Пробовали ли вы использовать плагин Jacoco для получения покрытия кода для вашего проекта? Это хороший плагин, который дает вам покрытие на основе вашего пакета или отдельных классов. Я не уверен, как вы настраиваете Jacoco для использования с Gradle, так как я использую Maven. Проверьте ссылку: и посмотрите, поможет ли она вам

Ответ 5

Я не думаю, что вы можете увидеть отчет о покрытии визуального кода внутри Android Studio. Но вы можете попробовать Jacoco. Вам нужно будет интегрировать его в ваш файл build.gradle. Вы можете найти аналогичный вопрос и решение здесь

Ответ 6

Android studio gradle имеет встроенный плагин Jacoco, который вы можете использовать для поиска покрытия кода. Я написал статью, чтобы шаг за шагом настроить jaococo, чтобы найти покрытие кода для тестового примера Espresso, но вы также можете использовать его для Robotium. проверьте это.

http://qaautomated.blogspot.in/2016/03/how-to-find-code-coverage-with-jacoco.html

Ответ 7

Включите testCoverage в файле модуля build.gradle

buildTypes {
        debug {
            testCoverageEnabled true
        }
    }

а затем

Щелкните правой кнопкой мыши на тесте → пакет java и выберите Run Tests in Java with Coverage