Robolectric testlər işləyərkən Android runtime artefaktlarını yükləyə bilər. Tikinti alətinin layihənin adi asılılıqlarını uğurla həll etməsi bu test zamanı yükləmənin eyni proxydən istifadə etdiyini sübut etmir.

Robolectric 4.9.1 və sonrakı versiyalar həmin yükləyici üçün aşağıdakı sistem xassələrini sənədləşdirir:

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

Onları testləri işlədən JVM-ə ötürün. Autentifikasiyasız HTTP vasitəçisi vasitəsilə icazə verilən ictimai artefakt yükləmələri üçün bu host və port xassələrində HTTP proxy siyahısından ünvan istifadə edin. Gradle-ın Groovy DSL-ni istifadə edən Android layihəsi üçün müvafiq konfiqurasiya belə ola bilər:

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

Bunu layihənin mövcud test konfiqurasiyası ilə saxlayın. Yalnız Gradle işə salıcısına verilən xassə ayrılmış test JVM-inin onu aldığına dair sübut deyil.

Qəsdən əlaqəsiz test mühiti üçün Robolectric həmçinin robolectric.offline və robolectric.dependency.dir sənədləşdirir. Bu quruluş düzgün runtime artefaktlarının göstərilən qovluqda yerləşdirilməsini tələb edir. Gradle-ın öz oflayn keşi Robolectric-in oflayn həlledicisinin gözlədiyi qovluğu əvəz etmir.

Əlaqəli məqalələr