Robolectric puede descargar artefactos de Android runtime mientras se ejecutan las pruebas. Que una herramienta de compilación resuelva correctamente las dependencias habituales del proyecto no demuestra que esta descarga durante la prueba use el mismo proxy.

Robolectric 4.9.1 y posteriores documentan estas propiedades del sistema para ese descargador:

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

Pásalas a la JVM que ejecuta las pruebas. Para descargas públicas de artefactos permitidas a través de un intermediario HTTP sin autenticación, usa una dirección de la lista de proxies HTTP en estas propiedades de host y puerto. En un proyecto Android con el DSL Groovy de Gradle, la configuración relevante puede ser:

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

Mantén esto junto con la configuración de pruebas existente del proyecto. Una propiedad entregada solo al lanzador de Gradle no es prueba de que una JVM de pruebas bifurcada la haya recibido.

Para un entorno de pruebas deliberadamente desconectado, Robolectric también documenta robolectric.offline y robolectric.dependency.dir. Esa disposición exige que los artefactos de ejecución correctos estén colocados en el directorio especificado. La caché sin conexión de Gradle no sustituye al directorio que espera el resolutor sin conexión de Robolectric.

Artículos relacionados