Как получить покрытие кода с помощью 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
Ответы
Ответ 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. Проверьте ссылку: и посмотрите, поможет ли она вам
Ответ 4
Мы используем maven для создания нашего приложения и кобертуры для отчетов о покрытии кода
оба очень легко интегрируются
Интеграция андроидов maven:
http://www.vogella.com/tutorials/AndroidBuildMaven/article.html
Пример покрытия кода Maven + Cobertura Пример:
http://www.mkyong.com/qa/maven-cobertura-code-coverage-example/
Ответ 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