Можно ли иметь отдельный модуль для инструментальных тестов в android - PullRequest
0 голосов
/ 29 мая 2020

У нас есть проект, в котором есть несколько инструментальных тестов, которые запускают часть CI. Теперь мы хотим добавить некоторые интеграционные тесты (типа инструментальных тестов), но они должны выполняться не как часть конвейера, а по запросу через отдельный Jenkins. задание или команда. Я пытаюсь создать отдельный модуль для интеграционных тестов, которые зависят от модуля "app", но это вызывает множество ошибок, как показано ниже.

ошибки появляются в android studio, пока он пытается разрешить модуль приложения

Я хотел понять, возможно ли это вообще?

1 Ответ

0 голосов
/ 29 мая 2020

Возможно. Вероятно, есть более простой способ, чем то, что я собираюсь предложить, но вы можете реализовать правило, которое условно игнорирует test и изменяет значение этой переменной в вашем задании CI.

Есть разные подходы. 1) Определите, какие тесты запускать с помощью логического значения, хранящегося на сервере. Так что отметьте свои обычные тесты пользовательского интерфейса условием shouldUITest и другими shouldInstrumentationTest и измените их значение на сервере 2) Измените переменные в app.gradle с помощью buildflavors. (В основном создайте 2 разных варианта и запускайте тот, который хотите 3) Определите, что сборка является сборкой CI, и действуйте соответственно в app.gradle

def ciBuild= System.getenv("CI") == "true"
    if (ciBuild) {
        //Do stuff
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...