Robolectric 4.9.1+: Android ರನ್ಟೈಮ್ ಡೌನ್ಲೋಡ್ಗಳಿಗೆ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳು
Robolectric ನ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್-ಡೌನ್ಲೋಡ್ ಪ್ರಾಕ್ಸಿ ಗುಣಲಕ್ಷಣಗಳನ್ನು Android ರನ್ಟೈಮ್ ಅವಲಂಬನೆಗಳನ್ನು ಪಡೆಯುವ ಟೆಸ್ಟ್ JVM ಗೆ ರವಾನಿಸಿ.
ಟೆಸ್ಟ್ಗಳು ಚಲಿಸುತ್ತಿರುವಾಗ 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 ನ ಆಫ್ಲೈನ್ ರಿಸಾಲ್ವರ್ ನಿರೀಕ್ಷಿಸುವ ಡೈರೆಕ್ಟರಿಗೆ ಬದಲಿಯಲ್ಲ.