Définir les propriétés de proxy dans une fixture Gradle TestKit
Définissez gradle.properties à la racine de la fixture avant de lancer cette compilation séparée, en vérifiant explicitement les surcharges et le répertoire utilisateur isolé.
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()Utilisez le répertoire de fixture existant sélectionné par withProjectDir, avec ses fichiers build/settings. Fusionnez les propriétés de proxy avec ce dont la fixture a déjà besoin ; les hôtes et ports de proxy restent distincts. Pour les téléchargements autorisés depuis des dépôts publics, la liste de proxies HTTP fournit des candidats pour ces propriétés.
La compilation externe du plugin peut réussir alors que cette compilation de test fonctionnel échoue. Importer sa classe de test ne copie pas le gradle.properties externe, et les propriétés du JVM JUnit ne décrivent pas à elles seules les entrées de la compilation séparée.
TestKit utilise par défaut un répertoire utilisateur Gradle isolé, si bien que les propriétés privées habituelles du développeur peuvent être absentes. À l'inverse, les propriétés de ligne de commande -D ou du répertoire utilisateur peuvent remplacer les entrées de la fixture.
Cela configure les requêtes vers les dépôts Gradle. Un plugin qui lance un autre téléchargeur ou possède son propre transport HTTP peut avoir besoin d'une autre route.