Το Robolectric μπορεί να κατεβάζει αρχεία Android runtime όσο εκτελούνται οι δοκιμές. Το ότι ένα εργαλείο κατασκευής επιλύει επιτυχώς τις συνήθεις εξαρτήσεις του έργου δεν αποδεικνύει ότι αυτή η λήψη κατά τη δοκιμή χρησιμοποιεί τον ίδιο διαμεσολαβητή.

Το Robolectric 4.9.1 και νεότερο τεκμηριώνει τις ακόλουθες ιδιότητες συστήματος για αυτόν τον λήπτη:

robolectric.dependency.proxy.host=proxy.example
robolectric.dependency.proxy.port=8080

Περάστε τις στο JVM που εκτελεί τις δοκιμές. Για δημόσιες λήψεις αρχείων που επιτρέπονται μέσω μη πιστοποιημένου HTTP ενδιάμεσου, χρησιμοποιήστε μια διεύθυνση από τη λίστα διαμεσολαβητών HTTP σε αυτές τις ιδιότητες κεντρικού υπολογιστή και θύρας. Για έργο Android με το Groovy DSL του Gradle, η σχετική διαμόρφωση μπορεί να είναι:

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.

Σχετικά άρθρα