Robolectric 4.9.1 ба түүнээс хойш: Android runtime татан авалтын proxy тохиргоо
Robolectric-ийн артефакт татах proxy шинж чанаруудыг Android runtime хамаарлуудыг авдаг тестийн JVM-д дамжуулна.
Robolectric тестүүд ажиллаж байх үед Android runtime артефактуудыг татаж чадна. Build хэрэгсэл төслийн энгийн хамаарлуудыг амжилттай шийдэж байгаа нь тестийн үеийн энэ таталт ижил proxy ашиглаж байгааг батлахгүй.
Robolectric 4.9.1 болон дараагийн хувилбарууд тэр татагчид дараах системийн шинж чанаруудыг баримтжуулдаг:
robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080Тэдгээрийг тестүүдийг ажиллуулж буй JVM-д дамжуулна. Баталгаажуулалтгүй HTTP зуучлагчаар зөвшөөрөгдсөн нийтийн артефакт таталтын хувьд эдгээр host болон port шинж чанарт HTTP proxy жагсаалтаас хаяг ашиглана. Gradle-ийн Groovy DSL ашигладаг Android төслийн хувьд холбогдох тохиргоо дараах байж болно:
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-ийн офлайн шийдэгчийн хүлээж буй хавтасыг орлохгүй.