Proxy-eigenschappen instellen in een Gradle TestKit-fixture
Stel gradle.properties in de fixture-root in voordat die aparte build draait, met expliciet gecontroleerde overschrijvingen en een geïsoleerde gebruikersmap.
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()Gebruik de bestaande fixture-map die withProjectDir selecteert, samen met de build/settings-bestanden ervan. Voeg proxy-eigenschappen samen met wat de fixture al nodig heeft; proxy-hosts en -poorten blijven gescheiden. Voor toegestane downloads uit openbare repositories levert de HTTP-proxylijst kandidaten voor die eigenschappen.
De buitenste build van de plugin kan slagen terwijl deze functionele testbuild faalt. Het importeren van de testklasse kopieert de buitenste gradle.properties niet, en eigenschappen op de JUnit-JVM beschrijven op zichzelf niet de invoer van de aparte build.
TestKit gebruikt standaard een geïsoleerde Gradle-gebruikersmap, dus de gebruikelijke privé-eigenschappen van de ontwikkelaar kunnen ontbreken. Omgekeerd kunnen opdrachtregel--D of gebruikersmap-eigenschappen de vermeldingen van de fixture overschrijven.
Dit configureert verzoeken aan Gradle-repositories. Een plugin die een andere downloader start of een eigen HTTP-transport heeft, kan een andere route nodig hebben.