Robolectric 4.9.1+: налады проксі для загрузкі асяроддзя Android
Перадайце ўласцівасці проксі для загрузкі артэфактаў Robolectric у JVM тэстаў, якая атрымлівае залежнасці асяроддзя Android.
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.