Robolectric lahko prenaša artefakte Android runtime med izvajanjem testov. To, da orodje za gradnjo uspešno razreši običajne odvisnosti projekta, ne dokazuje, da ta prenos med testom uporablja isti proxy.

Robolectric 4.9.1 in novejši dokumentirajo te sistemske lastnosti za tega prenašalca:

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

Posredujte jih JVM, ki izvaja teste. Za javne prenose artefaktov, dovoljene prek neoverjenega HTTP posrednika, v teh lastnostih gostitelja in vrat uporabite naslov s seznama proxyjev HTTP. Pri projektu Android z Groovy DSL Gradle je ustrezna konfiguracija lahko:

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

Ohranite to skupaj z obstoječo testno konfiguracijo projekta. Lastnost, posredovana samo zaganjalniku Gradle, ni dokaz, da jo je razcepljena testna JVM prejela.

Za namerno odklopljeno testno okolje Robolectric dokumentira tudi robolectric.offline in robolectric.dependency.dir. Takšna ureditev zahteva, da so pravilni artefakti runtime nameščeni v navedeni imenik. Vlastni offline predpomnilnik Gradle ne nadomesti imenika, ki ga pričakuje offline razreševalnik Robolectric.

Sorodni članki