Robolectric 4.9.1+: настройки прокси для загрузки Android runtime
Передайте свойства прокси для загрузки артефактов Robolectric в тестовую JVM, которая получает зависимости Android runtime.
Robolectric может загружать артефакты Android runtime во время выполнения тестов. Успешное разрешение обычных зависимостей проекта инструментом сборки не доказывает, что эта загрузка во время теста использует тот же прокси.
Robolectric 4.9.1 и более поздние версии документируют для этого загрузчика следующие системные свойства:
robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080Передайте их в JVM, выполняющую тесты. Для публичных загрузок артефактов, разрешённых через неаутентифицированный HTTP-посредник, используйте адрес из списка HTTP-прокси в этих свойствах хоста и порта. Для проекта Android с Groovy DSL Gradle соответствующая конфигурация может выглядеть так:
android {
testOptions {
unitTests.all {
systemProperty 'robolectric.dependency.proxy.host', 'proxy.example'
systemProperty 'robolectric.dependency.proxy.port', '8080'
}
}
}Держите это вместе с существующей тестовой конфигурацией проекта. Свойство, переданное только лаунчеру Gradle, не является доказательством того, что отдельная тестовая JVM его получила.
Для намеренно изолированной тестовой среды Robolectric также документирует robolectric.offline и robolectric.dependency.dir. Такая схема требует, чтобы нужные артефакты runtime были помещены в указанный каталог. Собственный офлайн-кеш Gradle не заменяет каталог, который ожидает офлайн-резолвер Robolectric.