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 ใช้ home ผู้ใช้ Gradle ที่แยกออกเป็นค่าเริ่มต้น ดังนั้นคุณสมบัติส่วนตัวปกติของผู้พัฒนาอาจไม่มีอยู่ ตรงกันข้าม คุณสมบัติบรรทัดคำสั่ง -D หรือ home ผู้ใช้อาจเขียนทับรายการของ fixture

สิ่งนี้กำหนดค่าคำขอรีโปของ Gradle ปลั๊กอินที่เปิดตัวดาวน์โหลดเดอร์อื่นหรือมีการรับส่ง HTTP ของตัวเองอาจต้องใช้เส้นทางอื่น

บทความที่เกี่ยวข้อง