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

Добавих testCoverageEnabled=true в моя файл build.gradle, за да започна да получавам някои отчети за покритие на кода.

Изпълнявайки моите тестове, виждам, че папка за покритие на кода е добавена в моите папки с изходни резултати. Когато обаче достигне съдържанието си, виждам, че има само файл coverage.ec...

Какво мога да направя с този файл, за да получа скорошен отчет? Или какво трябва да добавя към моя build.gradle, за да получа пълния отчет?


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


Отговори (2)


(РЕДАКТИРАНЕ: Старият ми отговор използва Jacoco, за да получи покритие на кода. С най-новите актуализации на Android Studio можете да получите покритие на кода без инструменти на трети страни)

С новото Android Studio вие можете да изпълнявате вашите модулни тестове и да виждате покритието в рамките на IDE.

Първо, ще трябва да стартирате вашите модулни тестове в IDE. (ако вече можете, пропуснете тази стъпка)

Това ръководство и демонстрация ще ви помогне.

Второ, ще трябва да създадете конфигурация за JUnit Run

въведете описание на изображението тук

Вътре в тази конфигурация ще можете да избирате

  • Вид тест: „Всичко в пакет“
  • Пакет: [пакетът, в който се намират вашите тестове, напр.: „com.myapp.tests“]
  • Търсене на тестове: В зависимост от модула (може да се различава за вашата настройка)
  • VM -опции: -ea
  • Работна директория: [директорията на вашия проект]
  • Използвайте classpath на mod: [изберете своя модул]

Ако имате някакъв проблем при създаването на вашата конфигурация за изпълнение на JUnit, трябва да посетите това ръководство за помощ.

И накрая, в най-новото Android Studio трябва да можете да стартирате вашата JUnit-Run Configuration, като щракнете върху бутона „Run with Coverage“.

person Caleb    schedule 11.05.2015

Добавете следното към файла "build.gradle".

apply plugin: "jacoco"

Изпълнете теста, като използвате

gradlew :<module>:createDebugCoverageReport

Изпълнете командата от корена на проекта, като замените „модул“ с името на тествания модул.

Резултатът трябва да бъде в модула под „build/outputs/reports/coverage“

person AndroidGuy    schedule 06.12.2014
comment
Изглежда не работи: Задачата „createDebugCoverageReport“ не е намерена в проект „:...“. - person lage; 19.12.2014
comment
Вече успях да го стартирам, но отново получавам само файл coverage.ec - person lage; 19.12.2014