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.