El proxy del repositorio de Maven puede obtener dependencias sin configurar una petición HTTP realizada por una prueba. Configure el cliente dentro de la JVM de pruebas.

Si ese cliente respeta las propiedades de proxy HTTPS de Java, coloque este fragmento dentro del elemento configuration del complemento Surefire correspondiente:

<systemPropertyVariables>
  <https.proxyHost>proxy.example</https.proxyHost>
  <https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>

Sustituya el punto de conexión de ejemplo. Para pruebas contra destinos públicos donde se permiten intermediarios públicos, la lista de proxies HTTP ofrece candidatos de host y puerto. El host y el puerto son valores separados; elija la familia de propiedades adecuada para el esquema de destino y la biblioteca. En cambio, un cliente creado con un objeto de proxy explícito necesita su propia interfaz de configuración.

Surefire suele ejecutar las pruebas en una JVM bifurcada. No todas las opciones usadas para lanzar Maven llegan a ese proceso. La detección de proxy del sistema sensible al inicio necesita su opción en la JVM de pruebas al arrancar. Incluso cuando las pruebas comparten un proceso, una biblioteca puede ignorar las propiedades de proxy predeterminadas de Java.

Mantenga los destinos internos directos cubiertos por una regla de omisión adecuada, la autenticación del proxy separada de la autenticación del destino y la verificación de certificados activada. Desactivar la bifurcación cambia cómo se ejecutan las pruebas; cambiar el espejo de dependencias cambia la resolución del repositorio. Ninguna de las dos aporta una ruta de cliente de pruebas que falte. Copiar todas las propiedades del sistema también puede exponer secretos.

Si aún queda un fallo, registre la JVM de pruebas, la biblioteca HTTP, el destino, el proxy seleccionado y la primera etapa fallida. Esas observaciones apuntan a la configuración de la prueba y dejan comprensibles las descargas de repositorio que funcionan.

Artículos relacionados