Запустите все UI / модульные тесты из многомодульного проекта с помощью одной команды - PullRequest
1 голос
/ 12 февраля 2020

У нас есть многомодульный проект 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 модулей)

...