Definir propriedades de proxy num fixture do Gradle TestKit
Defina gradle.properties na raiz do fixture antes de executar essa compilação separada, com substituições e diretório de usuário isolado verificados explicitamente.
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()Use o diretório de fixture existente selecionado por withProjectDir, junto com seus arquivos build/settings. Combine as propriedades de proxy com o que o fixture já precisa; hosts e portas de proxy permanecem separados. Para downloads permitidos de repositórios públicos, a lista de proxies HTTP fornece candidatos para essas propriedades.
A compilação externa do plugin pode ter êxito enquanto esta compilação de teste funcional falha. Importar sua classe de teste não copia o gradle.properties externo, e as propriedades na JVM do JUnit não descrevem por si só as entradas da compilação separada.
O TestKit usa por padrão um diretório de usuário do Gradle isolado, então as propriedades privadas habituais do desenvolvedor podem faltar. Por outro lado, propriedades de linha de comando -D ou do diretório de usuário podem substituir as entradas do fixture.
Isso configura as requisições aos repositórios do Gradle. Um plugin que inicie outro downloader ou tenha transporte HTTP próprio pode precisar de outra rota.