ਟੈਸਟ ਚੱਲਦੇ ਸਮੇਂ 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 ਦੇ ਆਫ਼ਲਾਈਨ ਰਿਜ਼ੋਲਵਰ ਦੁਆਰਾ ਲੋੜੀਂਦੀ ਡਾਇਰੈਕਟਰੀ ਦਾ ਬਦਲ ਨਹੀਂ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ