Robolectric pode descargar artefactos de Android runtime mentres se executan as probas. Que unha ferramenta de compilación resolva correctamente as dependencias habituais do proxecto non demostra que esta descarga durante a proba use o mesmo proxy.

Robolectric 4.9.1 e posteriores documentan estas propiedades do sistema para ese descargador:

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

Pásallas á JVM que executa as probas. Para descargas públicas de artefactos permitidas a través dun intermediario HTTP sen autenticación, usa un enderezo da lista de proxies HTTP nestas propiedades de host e porto. Nun proxecto Android co DSL Groovy de Gradle, a configuración relevante pode ser:

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

Mantén isto xunto coa configuración de probas existente do proxecto. Unha propiedade entregada só ao lanzador de Gradle non é proba de que unha JVM de probas bifurcada a recibise.

Para un contorno de probas deliberadamente desconectado, Robolectric tamén documenta robolectric.offline e robolectric.dependency.dir. Esa disposición esixe que os artefactos de execución correctos estean colocados no directorio especificado. A caché sen conexión de Gradle non substitúe o directorio que espera o resolvedor sen conexión de Robolectric.

Artigos relacionados