ടെസ്റ്റുകൾ പ്രവർത്തിക്കുന്ന സമയത്ത് Robolectric Android റൺടൈം ആർട്ടിഫാക്ടുകൾ ഡൗൺലോഡ് ചെയ്യാം. പ്രോജക്ടിന്റെ സാധാരണ ആശ്രിതത്വങ്ങൾ ബിൽഡ് ടൂൾ വിജയകരമായി പരിഹരിക്കുന്നത് ടെസ്റ്റ് സമയത്തെ ഈ ഡൗൺലോഡ് അതേ പ്രോക്സി ഉപയോഗിക്കുന്നു എന്ന് തെളിയിക്കുന്നില്ല.

Robolectric 4.9.1 കൂടാതെ പിന്നീടുള്ള പതിപ്പുകൾ ആ ഡൗൺലോഡറിനായി ഈ സിസ്റ്റം പ്രോപ്പർട്ടികൾ രേഖപ്പെടുത്തുന്നു:

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

ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്ന JVM-ലേക്ക് അവ നൽകുക. ഓതന്റിക്കേഷൻ ഇല്ലാത്ത HTTP ഇടനിലക്കാരൻ വഴി അനുവദിക്കുന്ന പൊതു ആർട്ടിഫാക്ട് ഡൗൺലോഡുകൾക്ക് ഈ ഹോസ്റ്റ്, പോർട്ട് പ്രോപ്പർട്ടികളിൽ 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 എന്നിവയും രേഖപ്പെടുത്തുന്നു. ആ ക്രമീകരണത്തിന് ശരിയായ റൺടൈം ആർട്ടിഫാക്ടുകൾ നിർദ്ദിഷ്ട ഡയറക്ടറിയിൽ സ്ഥാപിക്കേണ്ടതുണ്ട്. Gradle-ന്റെ സ്വന്തം ഓഫ്‌ലൈൻ കാഷെ Robolectric-ന്റെ ഓഫ്‌ലൈൻ റിസോൾവർ പ്രതീക്ഷിക്കുന്ന ഡയറക്ടറിക്ക് പകരമല്ല.

അനുബന്ധ ലേഖനങ്ങൾ