Robolectric kan laste ned Android-runtime-artefakter mens tester kjører. At et byggeverktøy løser prosjektets vanlige avhengigheter, beviser ikke at denne nedlastingen under testen bruker samme proxy.

Robolectric 4.9.1 og nyere dokumenterer disse systemegenskapene for den nedlasteren:

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

Send dem til JVM-en som kjører testene. For offentlige artefaktnedlastinger som tillates gjennom en uautentisert HTTP-formidler, bruk en adresse fra HTTP-proxylisten i disse verts- og portegenskapene. For et Android-prosjekt med Gradles Groovy-DSL kan den relevante konfigurasjonen være:

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

Behold dette sammen med prosjektets eksisterende testkonfigurasjon. En egenskap som bare gis til Gradle-oppstarten, er ikke bevis for at en forgrenet test-JVM har mottatt den.

For et bevisst frakoblet testmiljø dokumenterer Robolectric også robolectric.offline og robolectric.dependency.dir. Den ordningen krever at de riktige runtime-artefaktene er plassert i den angitte mappen. Gradles egen offline-buffer erstatter ikke mappen som Robolectrics offline-løser forventer.

Relaterte artikler