Robolectric može preuzimati artefakte Android runtimea dok testovi rade. To što alat za izgradnju uspješno rješava uobičajene zavisnosti projekta ne dokazuje da ovo preuzimanje tokom testa koristi isti proxy.

Robolectric 4.9.1 i noviji dokumentiraju sljedeće sistemske osobine za taj preuzimač:

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

Prenesite ih JVM-u koji izvršava testove. Za javna preuzimanja artefakata dopuštena kroz neautentificirani HTTP posrednik koristite adresu iz liste HTTP proxyja u ovim osobinama hosta i porta. Za Android projekat koji koristi Gradleov Groovy DSL relevantna konfiguracija može biti:

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

Zadržite ovo uz postojeću testnu konfiguraciju projekta. Osobina proslijeđena samo Gradle pokretaču nije dokaz da ju je razdvojena testna JVM primila.

Za namjerno odvojeno testno okruženje Robolectric također dokumentira robolectric.offline i robolectric.dependency.dir. Takav raspored zahtijeva da ispravni artefakti runtimea budu smješteni u navedeni direktorij. Gradleov vlastiti offline keš nije zamjena za direktorij koji očekuje Robolectricov offline resolver.

Povezani članci