การตั้งค่าพร็อกซี Maven Surefire สำหรับคำขอ HTTP ของการทดสอบ
พร็อกซีของที่เก็บ Maven ไม่ได้กำหนดค่าไคลเอนต์ HTTP ใด ๆ ภายใน JVM ของการทดสอบ ติดตามและกำหนดค่าคำขอที่การทดสอบทำ
พร็อกซีของที่เก็บ Maven สามารถดึง dependency ได้โดยไม่ต้องกำหนดค่าคำขอ HTTP ที่การทดสอบทำ กำหนดค่าไคลเอนต์ใน JVM ของการทดสอบ
หากไคลเอนต์นั้นเคารพคุณสมบัติพร็อกซี HTTPS ของ Java ให้วางส่วนนี้ไว้ในองค์ประกอบ configuration ของปลั๊กอิน Surefire ที่เกี่ยวข้อง:
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>แทนที่ปลายทางตัวอย่าง สำหรับการทดสอบกับปลายทางสาธารณะที่อนุญาตตัวกลางสาธารณะ รายการพร็อกซี HTTP เสนอผู้สมัครโฮสต์และพอร์ต โฮสต์และพอร์ตเป็นค่าที่แยกกัน เลือกตระกูลคุณสมบัติที่เหมาะกับสคีมาปลายทางและไลบรารี ส่วนไคลเอนต์ที่สร้างด้วยออบเจ็กต์พร็อกซีชัดเจนต้องมีอินเทอร์เฟซการกำหนดค่าของตัวเอง
โดยปกติ Surefire รันการทดสอบใน JVM ที่แยกสาขา ไม่ใช่ทุกตัวเลือกที่ใช้เปิด Maven จะไปถึงโปรเซสนั้น การค้นหาพร็อกซีระบบที่อ่อนไหวต่อการเริ่มต้น ต้องมีตัวเลือกนั้นใน JVM ของการทดสอบตอนเริ่มต้น แม้การทดสอบใช้โปรเซสเดียวกัน ไลบรารีอาจเพิกเฉยต่อคุณสมบัติพร็อกซีเริ่มต้นของ Java
รักษาปลายทางภายในโดยตรงให้ครอบคลุมด้วยกฎข้ามที่เหมาะสม แยกการพิสูจน์ตัวตนพร็อกซีออกจากการพิสูจน์ตัวตนปลายทาง และเปิดการตรวจสอบใบรับรองไว้ การปิดการแยกสาขาเปลี่ยนวิธีรันการทดสอบ การเปลี่ยนกระจก dependency เปลี่ยนการแก้ไขที่เก็บ ทั้งสองไม่ได้ให้เส้นทางไคลเอนต์ทดสอบที่ขาดหาย การคัดลอกคุณสมบัติระบบทั้งหมดอาจเปิดเผยความลับได้เช่นกัน
หากยังมีความล้มเหลว ให้บันทึก JVM ของการทดสอบ ไลบรารี HTTP เป้าหมาย พร็อกซีที่เลือก และขั้นตอนแรกที่ล้มเหลว ข้อสังเกตเหล่านั้นชี้ไปที่การกำหนดค่าของการทดสอบ พร้อมทำให้การดาวน์โหลดจากที่เก็บที่ทำงานอยู่เข้าใจได้