Robolectric 4.9.1+: cài đặt proxy cho các lần tải Android runtime
Truyền các thuộc tính proxy tải artefact của Robolectric vào JVM chạy kiểm thử, nơi lấy các phụ thuộc Android runtime.
Robolectric có thể tải artefact Android runtime trong khi kiểm thử chạy. Việc công cụ build giải quyết thành công các phụ thuộc thông thường của dự án không chứng minh rằng lần tải này trong lúc kiểm thử dùng cùng một proxy.
Robolectric 4.9.1 trở đi ghi nhận các thuộc tính hệ thống sau cho trình tải đó:
robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080Truyền chúng vào JVM thực thi kiểm thử. Với các lần tải artefact công khai được cho phép qua một trung gian HTTP không xác thực, hãy dùng một địa chỉ từ danh sách proxy HTTP trong các thuộc tính host và port này. Với dự án Android dùng Groovy DSL của Gradle, cấu hình liên quan có thể là:
android {
testOptions {
unitTests.all {
systemProperty 'robolectric.dependency.proxy.host', 'proxy.example'
systemProperty 'robolectric.dependency.proxy.port', '8080'
}
}
}Giữ mục này cùng với cấu hình kiểm thử hiện có của dự án. Một thuộc tính chỉ được cấp cho trình khởi chạy Gradle không phải bằng chứng rằng JVM kiểm thử tách nhánh đã nhận được nó.
Với môi trường kiểm thử cố ý ngắt kết nối, Robolectric cũng ghi nhận robolectric.offline và robolectric.dependency.dir. Cách bố trí đó đòi hỏi các artefact runtime đúng phải được đặt trong thư mục đã chỉ định. Bộ nhớ đệm ngoại tuyến của Gradle không thay thế thư mục mà bộ phân giải ngoại tuyến của Robolectric mong đợi.