Robolectric можа загружаць артэфакты асяроддзя Android падчас выканання тэстаў. Паспяховае развязанне звычайных залежнасцей праекта інструментам зборкі не даказвае, што гэтая загрузка падчас тэстаў выкарыстоўвае той жа проксі.

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. Такая схема патрабуе, каб правільныя артэфакты асяроддзя былі змешчаны ў пазначаны каталог. Уласны афлайн-кэш Gradle не замяняе каталог, які чакае афлайн-развязальнік Robolectric.

Падобныя артыкулы