Robolectric kan Android-runtime-artefakte aflaai terwyl toetse loop. Dat 'n bougereedskap die gewone afhanklikhede van die projek suksesvol oplos, bewys nie dat hierdie aflaai tydens die toets dieselfde proxy gebruik nie.

Robolectric 4.9.1 en later dokumenteer hierdie stelsel-eienskappe vir daardie aflaaier:

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

Gee dit aan die JVM wat die toetse uitvoer. Vir openbare artefak-aflaaie wat deur 'n ongemagtigde HTTP-tussenpersoon toegelaat word, gebruik 'n adres uit die HTTP-proxylys in hierdie gasheer- en poort-eienskappe. Vir 'n Android-projek wat Gradle se Groovy-DSL gebruik, kan die relevante konfigurasie so lyk:

android {
    testOptions {
        unitTests.all {
            systemProperty 'robolectric.dependency.proxy.host', 'proxy.example'
            systemProperty 'robolectric.dependency.proxy.port', '8080'
        }
    }
}

Hou dit by die projek se bestaande toetskonfigurasie. 'n Eienskap wat net aan die Gradle-lanseerder gegee word, is nie bewys dat 'n afgevate toets-JVM dit ontvang het nie.

Vir 'n doelbewus ontkoppelde toetsomgewing dokumenteer Robolectric ook robolectric.offline en robolectric.dependency.dir. Dié reëling vereis dat die korrekte runtime-artefakte in die gespesifiseerde gids geplaas word. Gradle se eie vanlyn-kas is nie 'n plaasvervanger vir die gids wat Robolectric se vanlyn-oplosser verwag nie.

Verwante artikels