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

Выкарыстоўвайце існуючы каталог fixture, выбраны праз withProjectDir, разам з яго файламі build/settings. Аб'яднайце ўласцівасці проксі з тым, што fixture ужо патрабуе; хасты і парты проксі застаюцца асобнымі. Для дазволеных загрузак з публічных рэпазітароў спіс HTTP-проксі дае кандыдатаў для гэтых уласцівасцей.

Знешняя зборка плагіна можа прайсці, а гэтая зборка функцыянальнага тэсту не. Імпарт яго класа тэсту не капіюе знешні gradle.properties, а ўласцівасці JUnit JVM самі па сабе не апісваюць уваходы асобнай зборкі.

TestKit па змаўчанні выкарыстоўвае ізаляваны хатні каталог Gradle, таму звычайныя прыватныя ўласцівасці распрацоўшчыка могуць быць адсутнымі. І наадварот, уласцівасці каманднага радка -D або хатняга каталога карыстальніка могуць пераазначыць запісы fixture.

Гэта наладжвае запыты да рэпазітароў Gradle. Плагін, які запускае іншы загрузчык або мае ўласны HTTP-транспарт, можа патрабаваць іншага шляху.

Падобныя артыкулы