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()

Folosiți directorul fixture existent selectat de withProjectDir, împreună cu fișierele sale build/settings. Îmbinați proprietățile de proxy cu ceea ce fixture-ul are deja nevoie; gazdele și porturile de proxy rămân separate. Pentru descărcările permise din depozite publice, lista de proxy HTTP oferă candidați pentru acele proprietăți.

Build-ul exterior al plugin-ului poate reuși în timp ce acest build de test funcțional eșuează. Importarea clasei sale de test nu copiază gradle.properties exterior, iar proprietățile de pe JVM-ul JUnit nu descriu prin ele însele intrările build-ului separat.

TestKit folosește implicit un director de utilizator Gradle izolat, așa că proprietățile private obișnuite ale dezvoltatorului pot lipsi. Invers, proprietățile din linia de comandă -D sau din directorul de utilizator pot suprascrie intrările fixture-ului.

Aceasta configurează cererile către depozitele Gradle. Un plugin care pornește alt descărcător sau are propriul transport HTTP poate avea nevoie de altă rută.

Articole similare