Robolectric může stahovat artefakty Android runtime během běhu testů. To, že nástroj pro sestavení úspěšně vyřeší běžné závislosti projektu, neprokazuje, že toto stahování během testu používá stejnou proxy.

Robolectric 4.9.1 a novější dokumentují pro tento stahovač následující systémové vlastnosti:

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

Předejte je JVM, která testy spouští. Pro veřejná stahování artefaktů povolená přes neautentizovaného HTTP prostředníka použijte adresu z seznamu HTTP proxy v těchto vlastnostech hostitele a portu. U projektu pro Android s Gradle Groovy DSL může příslušná konfigurace vypadat takto:

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

Ponechte to u stávající testovací konfigurace projektu. Vlastnost předaná pouze spouštěči Gradle není důkazem, že ji odštěpená testovací JVM obdržela.

Pro záměrně odpojené testovací prostředí dokumentuje Robolectric také robolectric.offline a robolectric.dependency.dir. Toto uspořádání vyžaduje, aby byly správné artefakty runtime připraveny v zadaném adresáři. Vlastní offline mezipaměť Gradle nenahrazuje adresář, který očekává offline resolver Robolectric.

Související články