Robolectric สามารถดาวน์โหลดอาร์ทิแฟกต์ของ Android runtime ขณะที่การทดสอบทำงานอยู่ การที่เครื่องมือบิลด์แก้ไของค์ประกอบพึ่งพิงปกติของโปรเจกต์ได้สำเร็จไม่ได้พิสูจน์ว่าการดาวน์โหลดระหว่างการทดสอบนี้ใช้พร็อกซีเดียวกัน

Robolectric 4.9.1 และเวอร์ชันหลังจากนั้นบันทึกพร็อพเพอร์ตีระบบต่อไปนี้สำหรับตัวดาวน์โหลดนั้น:

robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080

ส่งค่าเหล่านี้ไปยัง JVM ที่รันการทดสอบ สำหรับการดาวน์โหลดอาร์ทิแฟกต์สาธารณะที่อนุญาตผ่านตัวกลาง HTTP ที่ไม่มีการยืนยันตัวตน ให้ใช้ที่อยู่จากรายการพร็อกซี HTTPในพร็อพเพอร์ตีโฮสต์และพอร์ตเหล่านี้ สำหรับโปรเจกต์ Android ที่ใช้ Groovy DSL ของ Gradle การกำหนดค่าที่เกี่ยวข้องอาจเป็น:

android {
    testOptions {
        unitTests.all {
            systemProperty 'robolectric.dependency.proxy.host', 'proxy.example'
            systemProperty 'robolectric.dependency.proxy.port', '8080'
        }
    }
}

เก็บสิ่งนี้ไว้กับการกำหนดค่าการทดสอบที่มีอยู่ของโปรเจกต์ พร็อพเพอร์ตีที่ให้เฉพาะตัวเรียก Gradle ไม่ใช่หลักฐานว่า JVM ทดสอบที่แยกออกไปได้รับค่านั้น

สำหรับสภาพแวดล้อมทดสอบที่ตัดการเชื่อมต่อโดยเจตนา Robolectric ยังบันทึก robolectric.offline และ robolectric.dependency.dir ด้วย การจัดวางนั้นต้องให้อาร์ทิแฟกต์รันไทม์ที่ถูกต้องถูกวางไว้ในไดเรกทอรีที่ระบุ แคชออฟไลน์ของ Gradle เองไม่ได้แทนที่ไดเรกทอรีที่ตัวแก้ไขออฟไลน์ของ Robolectric คาดหวัง

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