Запустите один тест, чтобы проверить покрытие кода Jacoco Android

Я использую ./gradlew createDebugCoverageReport для создания отчета о покрытии кода всех моих тестов на оборудование для Android (Robotium). Но мне нужно запустить все тесты, чтобы получить отчет о покрытии сейчас. Как я могу указать один единственный тест (или один тестовый класс) для выполнения и получить отчет о покрытии? Я использовал его во время разработки тестов, и он слишком медленно запускал все тесты сразу.

Ответ 1

Советую использовать сервер CI (Jenkins или TeamCity) и выполните задачу покрытия Gradle.

Выполнение заданий CI:

  • assemble
  • запустите unit tests и создайте зону покрытия
  • выполните code quality checks (PMD, CheckStyle и т.д.)
  • запустите acceptance/instrumentation tests и создайте зону покрытия

Задание заданий выполняется последовательно.

И локально, во время разработки, запустите тесты (бонус - выполнить единичные тесты с покрытием) для конкретных class или method только.

Тесты приборов занимают гораздо больше времени, чем тесты Unit, и это нормально. Я считаю, что вам не нужен полный охват проекта, когда вы пишете t210. Как только вы закончите писать тесты - запустите все тесты с охватом кода.

Обновление:. Вы можете ускорить выполнение своих тестовых тестов, переместившись с Robotium на Espresso. Взгляните на тест Espresso vs Robotium. Счастливое тестирование;)