Intereting Posts
Как нарисовать гладкий / закругленный путь? Как установить позицию диалога? Масштабирование браузера для Android? CollapsingToolbarLayout поведение прокрутки на планшетах Intel HAXM эквивалент для AMD в ОС Windows Как настроить Android Studio на работу полностью в автономном режиме? Android – SharedPreferences с сериализуемым объектом Добавление папки с ресурсами в Android Studio Где находится андроид-студия, строит мой файл .apk? Obj Фрагмент неправильный 2-й тип аргумента найден 'Android.support.V4.app.Fragment.' Требуется «Android.app.Fragment» Как настроить инъекцию зависимостей с помощью кинжала для вещей, отличных от действий и фрагментов? Преобразование изображения в видео с эффектом перехода AdMob с помощью Служб Google Play – тестовые объявления – заполнение от сервера объявлений не заполняется Комната Android: каждая переменная привязки в запросе должна иметь соответствующий метод Можно ли изменить, где сохраняются виртуальные устройства Android?

Определить buildConfigField для androidTest

Я определяю конкретное поле в BuildConfig для получения URL во время выполнения. Таким образом, для каждого типа сборки я использую другую строку:

  prod { buildConfigField "String", "BASE_URL", "\"abc.com\"" } debug { buildConfigField "String", "BASE_URL", "\"efg.com\"" } 

Можно ли определить другой URL-адрес при запуске тестов на Android? Я попытался установить этот параметр в sourceSets->androidTest , но он не принят.

Solutions Collecting From Web of "Определить buildConfigField для androidTest"

Добавьте пользовательский BuildConfig.java в your.app.package BuildConfig.java в your.app.package test / androidTest.

Android Studio отмечает его красным, но работает.

Вы должны передать его как параметр для connectedAndroidTest задачиAndroidTest.

 android { ... buildTypes { prod { buildConfigField "String", "BASE_URL", "\"${getBaseUrl("abc.com")}\"" } debug { buildConfigField "String", "BASE_URL", "\"${getBaseUrl("efg.com")}\"" } } } def getBaseUrl(String fallback) { return project.hasProperty("base_url") ? project.getProperties().get("base_url") : fallback } 

Затем прохождение параметров через -P :

 ./gradlew connectedDebugAndroidTest -Pbase_url="xxx.com" ./gradlew connectedProdAndroidTest -Pbase_url="yyy.com"