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

withProjectDir이 선택하는 기존 픽스처 디렉터리를 해당 build/settings 파일과 함께 사용합니다. 프록시 속성은 픽스처가 이미 필요로 하는 항목과 병합하고, 프록시 호스트와 포트는 별도로 유지합니다. 허용된 공개 저장소 다운로드에는 HTTP 프록시 목록이 해당 속성의 후보를 제공합니다.

플러그인의 외부 빌드가 성공해도 이 기능 테스트 빌드는 실패할 수 있습니다. 테스트 클래스를 가져와도 외부 gradle.properties이 복사되지 않으며, JUnit JVM의 속성만으로는 별도 빌드의 입력을 설명하지 못합니다.

TestKit은 기본적으로 격리된 Gradle 사용자 홈을 사용하므로 개발자의 평소 개인 속성이 없을 수 있습니다. 반대로 명령줄 -D 또는 사용자 홈 속성이 픽스처의 항목을 덮어쓸 수 있습니다.

이것은 Gradle 저장소 요청을 구성합니다. 다른 다운로더를 실행하거나 자체 HTTP 전송을 가진 플러그인은 다른 경로가 필요할 수 있습니다.

관련 글