בדיקות של מארח JAR

צריך להטמיע בדיקות מארח של קובץ Java archive‏ (JAR) כדי לספק כיסוי מלא של הקוד בתוכנה. פועלים לפי ההוראות ליצירת בדיקות יחידה מקומיות. כותבים בדיקות יחידה קטנות כדי לאמת פונקציה ספציפית, ולא יותר.

דוגמה

קובץ ה-Bluprint הבא מספק דוגמה פשוטה לבדיקה של מארח Hello World JAR, להעתקה ולהתאמה לצרכים שלכם: platform_testing/tests/example/jarhosttest/Android.bp

זהו קוד הבדיקה בפועל שנמצא בכתובת: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

צירפנו כאן תמונת מצב של קובץ התוכנית לנוחותכם:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

ההצהרה java_test_host בהתחלה מציינת שמדובר בבדיקה של מארח JAR. ראו דוגמה לשימוש ב-frameworks/base/tools/powermodel/Android.bp

הגדרות

בהמשך מופיעים הסברים על ההגדרות הבאות:

  • ההגדרה name נדרשת כשמציינים את סוג המודול java_test_host (בתחילת הבלוק). ההגדרה הזו נותנת שם למודול, ולקובץ ה-JAR שנוצר יש את אותו שם וגם סיומת .jar. בדוגמה הבאה,שם קובץ ה-JAR לבדיקה הוא HelloWorldHostTest.jar. בנוסף, ההגדרה הזו מגדירה גם שם יעד למודול, כך שאפשר להשתמש ב-make [options] <HelloWorldHostTest> כדי ליצור את המודול לבדיקה ואת כל יחסי התלות שלו.

    name: "HelloWorldHostTest",
    
  • ההגדרה test_suites מאפשרת לכלי הבדיקה של Trade Federation למצוא בקלות את הבדיקה. אפשר להוסיף לכאן חבילות בדיקה אחרות, כמו CTS, כדי שאפשר יהיה לשתף את בדיקת המארח של קובץ ה-JAR.

    test_suites: ["general-tests"],
    
  • ההגדרה static_libs מורה למערכת ה-build לשלב את התוכן של המודולים שצוינו בחבילת ה-APK שמתקבלת מהמודול הנוכחי. כלומר, כל מודול בעל שם אמור ליצור קובץ .jar. תוכן המודול משמש לפתרון הפניות לנתיב הספריות בזמן הידור, והוא משולב בקובץ ה-APK שנוצר.

    static_libs: [
        "junit",
    ],