Robolectric 4.9.1+: Android റൺടൈം ഡൗൺലോഡുകൾക്കുള്ള പ്രോക്സി ക്രമീകരണങ്ങൾ
Android റൺടൈം ആശ്രിതത്വങ്ങൾ വാങ്ങുന്ന ടെസ്റ്റ് JVM-ലേക്ക് Robolectric-ന്റെ ആർട്ടിഫാക്ട്-ഡൗൺലോഡ് പ്രോക്സി പ്രോപ്പർട്ടികൾ നൽകുക.
ടെസ്റ്റുകൾ പ്രവർത്തിക്കുന്ന സമയത്ത് 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-ന്റെ ഓഫ്ലൈൻ റിസോൾവർ പ്രതീക്ഷിക്കുന്ന ഡയറക്ടറിക്ക് പകരമല്ല.