Как запустить модульный тест на модуле Android?

У меня есть проект Android с несколькими библиотечными модулями, и я пытаюсь протестировать определенный пакет, содержащий все модули.

Я попробовал эту команду:

./gradlew -Dtest.single=com.moduleone* testProductionDebug

И это не работает: он не выполняет тесты внутри этого модуля, а вместо этого выполняет все модульные тесты в основном классе пакета проекта.

Как протестировать только один модуль?


person Jonathan    schedule 20.10.2016    source источник
comment
Вы пробовали это: stackoverflow.com/questions/24951421/   -  person Kendrick Wong    schedule 12.01.2017


Ответы (2)


Вы можете использовать наборы тестов: https://developer.android.com/reference/junit/framework/TestSuite.html . Определение костюма содержит нужные вам классы тестов

person Alex Shutov    schedule 20.10.2016
comment
Совместим с робоэлектриком? - person Jonathan; 20.10.2016
comment
Но TestSuites должны находиться в том же модуле, который он тестирует. - person htafoya; 28.11.2019

Предполагая, что вы пытаетесь выполнить задачу gradle для одного модуля, а не для всего проекта, вы можете указать имя модуля перед задачей, разделенной двоеточием (module_name:task)

По вашему вопросу это будет выглядеть примерно так
./gradlew -Dtest.single=com.moduleone* your_library_module:testProductionDebug

Это простой пример, предполагающий, что у вас есть простая настройка проекта. Вы также можете найти дополнительную информацию об этом в документации по gradle для выполнения нескольких -сборка проекта

person Brad    schedule 16.01.2017