Robolectric יכול להוריד חפצי Android runtime בזמן שהבדיקות רצות. העובדה שכלי build פותר בהצלחה את התלויות הרגילות של הפרויקט אינה מוכיחה שההורדה הזו בזמן הבדיקה משתמשת באותו פרוקסי.

‏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 הנכונים יוצבו בספרייה שצוינה. מטמון ה-offline של Gradle עצמו אינו מחליף את הספרייה שפותר ה-offline של Robolectric מצפה לה.

מאמרים קשורים