Robolectric ٹیسٹ چلنے کے دوران Android runtime آرٹی فیکٹس ڈاؤن لوڈ کر سکتا ہے۔ بلڈ ٹول کا منصوبے کے معمول کے انحصارات کامیابی سے حل کر لینا یہ ثابت نہیں کرتا کہ ٹیسٹ کے دوران یہ ڈاؤن لوڈ وہی پراکسی استعمال کرتا ہے۔

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 بھی دستاویز کرتا ہے۔ اس ترتیب کے لیے ضروری ہے کہ درست runtime آرٹی فیکٹس مخصوص ڈائریکٹری میں رکھے جائیں۔ Gradle کا اپنا آف لائن کیش Robolectric کے آف لائن حل کنندہ کی متوقع ڈائریکٹری کا متبادل نہیں ہے۔

متعلقہ مضامین