Robolectric-ը կարող է ներբեռնել Android runtime-ի արտեֆակտներ թեստերի ընթացքում։ Այն, որ կառուցման գործիքը հաջողությամբ լուծում է նախագծի սովորական կախվածությունները, չի ապացուցում, որ թեստի ընթացքում այս ներբեռնումը օգտագործում է նույն պրոքսին։

Robolectric 4.9.1-ը և ավելի նոր տարբերակները փաստաթղթավորում են այս համակարգային հատկությունները այդ ներբեռնիչի համար.

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

Փոխանցեք դրանք թեստերը գործարկող JVM-ին։ Չհաստատված HTTP միջնորդի միջոցով թույլատրված հանրային արտեֆակտների ներբեռնումների համար այս host-ի և port-ի հատկություններում օգտագործեք հասցե HTTP պրոքսիների ցանկից։ Gradle-ի Groovy DSL-ն օգտագործող Android նախագծի համար համապատասխան կարգավորումը կարող է լինել.

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-ը։ Այդ դասավորությունը պահանջում է, որ ճիշտ runtime արտեֆակտները տեղադրվեն նշված պանակում։ Gradle-ի սեփական օֆլայն քեշը չի փոխարինում այն պանակը, որը սպասում է Robolectric-ի օֆլայն լուծիչը։

Առնչվող հոդվածներ