ಟೆಸ್ಟ್‌ಗಳು ಚಲಿಸುತ್ತಿರುವಾಗ 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 ನ ಆಫ್‌ಲೈನ್ ರಿಸಾಲ್ವರ್ ನಿರೀಕ್ಷಿಸುವ ಡೈರೆಕ್ಟರಿಗೆ ಬದಲಿಯಲ್ಲ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು