Я использую ./gradlew createDebugCoverageReport для создания отчета о покрытии кода всех моих тестов на оборудование для Android (Robotium). Но мне нужно запустить все тесты, чтобы получить отчет о покрытии сейчас. Как я могу указать один единственный тест (или один тестовый класс) для выполнения и получить отчет о покрытии? Я использовал его во время разработки тестов, и он слишком медленно запускал все тесты сразу.
Запустите один тест, чтобы проверить покрытие кода Jacoco Android
Ответ 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. Счастливое тестирование;)