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 نامزدهایی برای آن ویژگی‌ها فراهم می‌کند.

build بیرونی افزونه می‌تواند موفق شود در حالی که این build آزمون کارکردی شکست می‌خورد. واردکردن کلاس آزمون آن، gradle.properties بیرونی را کپی نمی‌کند و ویژگی‌های روی JVM مربوط به JUnit به‌تنهایی ورودی‌های build جداگانه را توصیف نمی‌کنند.

TestKit به‌طور پیش‌فرض از خانه کاربر Gradle ایزوله استفاده می‌کند، بنابراین ویژگی‌های خصوصی معمول توسعه‌دهنده ممکن است وجود نداشته باشند. برعکس، ویژگی‌های خط فرمان -D یا خانه کاربر می‌توانند ورودی‌های fixture را بازنویسی کنند.

این درخواست‌های مخزن Gradle را پیکربندی می‌کند. افزونه‌ای که دانلودگر دیگری را اجرا می‌کند یا انتقال HTTP اختصاصی دارد ممکن است به مسیر دیگری نیاز داشته باشد.

مقالات مرتبط