У нас есть многомодульный проект Android, в котором некоторые модули содержат тесты пользовательского интерфейса, а некоторые содержат модульные тесты. Мы sh будем запускать все тесты пользовательского интерфейса из всех модулей с помощью одной команды Gradle и делать то же самое для модульных тестов.
Единственный способ, который мы обнаружили, это сделать с помощью следующей конфигурации внутри основного Модуль app
, который реализует все остальные подмодули (в основном модуль app
знает обо всех других папках androidTest
и test
в проекте):
app / build .gradle:
sourceSets {
androidTest.java.srcDirs += ["${project(':feature-login').projectDir}/src/androidTest/java"]
test.java.srcDirs += ["${project(':feature-login').projectDir}/src/test/java"]
test.java.srcDirs += ["${project(':core').projectDir}/src/test/java"]
}
Затем мы запускаем следующие команды Gradle:
./gradlew app:connectedDemoDebugAndroidTest
./gradlew app:testDemoDebugUnitTest
Вопрос: Есть ли лучший / более простой способ добиться этого ? Или есть способ динамического добавления папок androidTest
и test
из вышеприведенного решения (с использованием относительного пути) вместо необходимости писать строку srcDirs
для каждого модуля (у нас более 40 модулей)