Я использую ./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. Счастливое тестирование;)