Как я могу настроить build.gradle в проекте Android для запуска всех моих модульных тестов перед каждой отладкой или выпуском? Я знаю, что я могу устанавливать зависимости задач с помощью dependsOn, но как я могу указать его для задачи unit test? Я хотел бы сделать это для каждого модуля (Android и простой Java) моего проекта, возможно ли это?
Выполнение модульных тестов перед каждой сборкой в Gradle
Ответ 1
У вас есть специальная задача для запуска только модульных тестов? Или вы можете запускать его как простой test (или, в более общем плане, testDebug и testRelease)? Скажем, вы хотите запускать testDebug или testRelease каждый раз, когда вы вызываете задачу assembleDebug или assembleRelease. Затем вы, как вы уже отметили, можете использовать свойство задачи dependsOn. Например, следующим образом:
assembleDebug.dependsOn testDebug
assembleRelease.dependsOn testRelease
Эта конфигурация должна быть добавлена к каждому build.gradle script (в каждом модуле проекта), где вам это нужно. Если у вас есть несколько тестовых задачm, вы можете установить зависимости задач таким образом:
tasks.assembleRelease.dependsOn {
project.tasks.findAll { task ->
task.name.startsWith('testRelease')
}
}
Конечно, вы можете попробовать установить эти зависимости в корне root build.gradle script, используя allprojects или subprojects (вы можете прочитать об этом здесь), но вы должны применить плагин android в корневом каталоге script, иначе задачи не будут найдены.
Ответ 2
Перейдите в Run/Debug Configurations и выберите конфигурацию вашего приложения. В нижней части правой панели в разделе "Перед запуском": нажмите кнопку "+" и выберите "Запустить другую конфигурацию". Там выберите конфигурацию для запуска тестов.
Перед запуском установите команду тестового примера для запуска. 
else для задачи gradle здесь
