new File(fixtureDir, 'gradle.properties').text = """systemProp.http.proxyHost=proxy.example
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.example
systemProp.https.proxyPort=8080
"""

def result = GradleRunner.create()
    .withProjectDir(fixtureDir)
    .withArguments('assemble')
    .build()

Usa o directorio de fixture existente que selecciona withProjectDir, xunto cos seus ficheiros build/settings. Combina as propiedades de proxy co que o fixture xa necesita; os hosts e portos de proxy permanecen separados. Para as descargas permitidas de repositorios públicos, a lista de proxies HTTP achega candidatos para esas propiedades.

A compilación externa do plugin pode ter éxito mentres esta compilación de proba funcional falla. Importar a súa clase de proba non copia o gradle.properties externo, e as propiedades da JVM de JUnit non describen por si soas as entradas da compilación separada.

TestKit usa por defecto un directorio de usuario de Gradle illado, polo que as propiedades privadas habituais do desenvolvedor poden faltar. Á inversa, as propiedades de liña de ordes -D ou do directorio de usuario poden anular as entradas do fixture.

Isto configura as solicitudes aos repositorios de Gradle. Un plugin que inicie outro descargador ou teña o seu propio transporte HTTP pode necesitar outra ruta.

Artigos relacionados