টেস্ট চলার সময় 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-এর অফলাইন রিজলভার যে ডিরেক্টরি আশা করে তার বিকল্প নয়।

সম্পর্কিত নিবন্ধ