Robolectric testlar ishlayotganda Android runtime artefaktlarini yuklab olishi mumkin. Qurish vositasi loyihaning oddiy bog'liqliklarini muvaffaqiyatli hal qilishi bu test vaqtidagi yuklab olish bir xil proxydan foydalanishini isbotlamaydi.

Robolectric 4.9.1 va keyingi versiyalar o'sha yuklovchi uchun quyidagi tizim xossalarini hujjatlashtiradi:

robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080

Ularni testlarni bajaradigan JVM ga o'tkazing. Autentifikatsiyasiz HTTP vositachisi orqali ruxsat etilgan ommaviy artefakt yuklab olishlari uchun ushbu host va port xossalarida HTTP proxy ro'yxatidan manzil ishlating. Gradle'ning Groovy DSL ini ishlatadigan Android loyihasi uchun tegishli konfiguratsiya quyidagicha bo'lishi mumkin:

android {
    testOptions {
        unitTests.all {
            systemProperty 'robolectric.dependency.proxy.host', 'proxy.example'
            systemProperty 'robolectric.dependency.proxy.port', '8080'
        }
    }
}

Buni loyihaning mavjud test konfiguratsiyasi bilan birga saqlang. Faqat Gradle ishga tushirgichiga berilgan xossa tarmoqlangan test JVM uni olganiga dalil emas.

Ataylab uzilgan test muhiti uchun Robolectric robolectric.offline va robolectric.dependency.dir ni ham hujjatlashtiradi. Bu tartib to'g'ri runtime artefaktlarining ko'rsatilgan papkaga joylashtirilishini talab qiladi. Gradle'ning o'z oflayn keshi Robolectric oflayn hal qiluvchisi kutadigan papkani almashtirmaydi.

O'xshash maqolalar