Robolectric kan ladda ned Android-runtime-artefakter medan tester körs. Att ett byggverktyg framgångsrikt löser projektets vanliga beroenden bevisar inte att denna nedladdning under testet använder samma proxy.

Robolectric 4.9.1 och senare dokumenterar dessa systemegenskaper för den nedladdaren:

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

Skicka dem till JVM:en som kör testerna. För offentliga artefaktnedladdningar som tillåts via en oautentiserad HTTP-förmedlare, använd en adress från HTTP-proxylistan i dessa värd- och portegenskaper. För ett Android-projekt med Gradles Groovy-DSL kan den relevanta konfigurationen vara:

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

Behåll detta tillsammans med projektets befintliga testkonfiguration. En egenskap som bara ges till Gradle-startaren är inte bevis för att en avgreningad test-JVM har tagit emot den.

För en medvetet frånkopplad testmiljö dokumenterar Robolectric även robolectric.offline och robolectric.dependency.dir. Den ordningen kräver att rätt runtime-artefakter placeras i den angivna katalogen. Gradles egen offline-cache ersätter inte katalogen som Robolectrics offline-lösare förväntar sig.

Relaterade artiklar