Robolectric môže sťahovať artefakty Android runtime počas behu testov. To, že nástroj na zostavovanie úspešne vyrieši bežné závislosti projektu, nepreukazuje, že toto sťahovanie počas testu používa rovnakú proxy.

Robolectric 4.9.1 a novšie dokumentujú pre tento sťahovač nasledujúce systémové vlastnosti:

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

Odovzdajte ich JVM, ktorá spúšťa testy. Pre verejné sťahovania artefaktov povolené cez neautentizovaného HTTP sprostredkovateľa použite adresu zo zoznamu HTTP proxy v týchto vlastnostiach hostiteľa a portu. V projekte pre Android s Groovy DSL Gradle môže príslušná konfigurácia vyzerať takto:

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

Ponechajte to pri existujúcej testovacej konfigurácii projektu. Vlastnosť odovzdaná iba spúšťaču Gradle nie je dôkazom, že ju odčlenená testovacia JVM dostala.

Pre zámerne odpojené testovacie prostredie Robolectric dokumentuje aj robolectric.offline a robolectric.dependency.dir. Také usporiadanie vyžaduje, aby boli správne artefakty runtime pripravené v zadanom adresári. Vlastná offline vyrovnávacia pamäť Gradle nenahrádza adresár, ktorý očakáva offline resolver Robolectric.

Súvisiace články