Покрытие кода в Android Studio

Я добавил testCoverageEnabled=true в свой файл build.gradle, чтобы начать получать отчеты о покрытии кода.

Запустив мои тесты, я вижу, что папка с покрытием кода добавлена ​​​​в мои выходные папки сборки. Однако, когда я дохожу до его содержимого, я вижу, что есть только файлcover.ec...

Что я могу сделать с этим файлом, чтобы получить последний отчет? Или что я должен добавить в свой build.gradle, чтобы получить полный отчет?


person lage    schedule 05.12.2014    source источник
comment
возможный дубликат Как получить покрытие кода с помощью Android Studio?   -  person 030    schedule 01.03.2015
comment
Вы когда-нибудь заставляли его работать? В настоящее время я пытаюсь настроить модульное тестирование на студии Android...   -  person hellyale    schedule 18.04.2015


Ответы (2)


(EDIT: мой старый ответ использовал Jacoco для получения покрытия кода. С последними обновлениями Android Studio вы можете получить покрытие кода без сторонних инструментов)

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

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

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

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

введите здесь описание изображения

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

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

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

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

person Caleb    schedule 11.05.2015

Добавьте следующее в файл «build.gradle»

apply plugin: "jacoco"

Запустите тест, используя

gradlew :<module>:createDebugCoverageReport

Запустите команду из корня проекта, заменив «модуль» на имя тестируемого модуля.

Вывод должен быть в модуле в разделе «сборка/выводы/отчеты/покрытие».

person AndroidGuy    schedule 06.12.2014
comment
Кажется, не работает: задача «createDebugCoverageReport» не найдена в проекте «:...». - person lage; 19.12.2014
comment
Уже смог его запустить, но в очередной раз получаю только файлcover.ec - person lage; 19.12.2014