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

Använd den befintliga fixture-katalogen som withProjectDir väljer, tillsammans med dess build/settings-filer. Slå samman proxyegenskaper med det fixturen redan behöver; proxyvärdar och -portar hålls åtskilda. För tillåtna nedladdningar från offentliga repon levererar HTTP-proxylistan kandidater för dessa egenskaper.

Pluginets yttre bygge kan lyckas medan detta funktionella testbygge misslyckas. Import av dess testklass kopierar inte det yttre gradle.properties, och egenskaper på JUnit-JVM:en beskriver inte i sig indata för det separata bygget.

TestKit använder som standard ett isolerat Gradle-användarhem, så utvecklarens vanliga privata egenskaper kan saknas. Omvänt kan kommandorads--D eller användarhemsegenskaper åsidosätta fixturens poster.

Detta konfigurerar förfrågningar till Gradle-repon. Ett plugin som startar en annan nedladdare eller har egen HTTP-transport kan behöva en annan väg.

Relaterade artiklar