Proxy-Eigenschaften in einem Gradle-TestKit-Fixture setzen
gradle.properties im Fixture-Wurzelverzeichnis setzen, bevor dieser separate Build läuft, mit ausdrücklich geprüften Überschreibungen und isoliertem Benutzerverzeichnis.
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()Nutze das vorhandene Fixture-Verzeichnis, das withProjectDir auswählt, zusammen mit seinen build/settings-Dateien. Führe Proxy-Eigenschaften mit dem zusammen, was das Fixture ohnehin braucht; Proxy-Hosts und -Ports bleiben getrennt. Für erlaubte Downloads aus öffentlichen Repositories liefert die HTTP-Proxy-Liste Kandidaten für diese Fixture-Eigenschaften.
Der äußere Build des Plugins kann erfolgreich sein, während dieser Funktionstest-Build fehlschlägt. Der Import seiner Testklasse kopiert die äußere gradle.properties nicht, und Eigenschaften der JUnit-JVM beschreiben für sich genommen nicht die Eingaben des separaten Builds.
TestKit verwendet standardmäßig ein isoliertes Gradle-Benutzerverzeichnis, sodass die üblichen privaten Eigenschaften des Entwicklers fehlen können. Umgekehrt können Kommandozeilen--D oder Eigenschaften im Benutzerverzeichnis die Einträge des Fixtures überschreiben.
Dies konfiguriert Anfragen an Gradle-Repositories. Ein Plugin, das einen anderen Downloader startet oder einen eigenen HTTP-Transport besitzt, kann eine andere Route brauchen.