צריך להטמיע בדיקות מארח של קובץ Java archive (JAR) כדי לספק כיסוי מלא של הקוד בתוכנה. פועלים לפי ההוראות ליצירת בדיקות יחידה מקומיות. כותבים בדיקות יחידה קטנות כדי לאמת פונקציה ספציפית בלבד.
דוגמה
קובץ Blueprint הבא מכיל דוגמה פשוטה לבדיקת מארח JAR של Hello World, שאפשר להעתיק ולהתאים לצרכים שלכם: 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 עבור המודול, כך שתוכלו להשתמש ב-make [options] <HelloWorldHostTest>
כדי ליצור את מודול הבדיקה ואת כל יחסי התלות שלו.name: "HelloWorldHostTest",
ההגדרה
test_suites
מאפשרת לכלי הבדיקה של Trade Federation למצוא בקלות את הבדיקה. אפשר להוסיף לכאן חבילות בדיקה אחרות, כמו CTS, כדי שאפשר יהיה לשתף את בדיקת המארח של JAR.test_suites: ["general-tests"],
ההגדרה
static_libs
מורה למערכת ה-build לשלב את התוכן של המודולים שצוינו בחבילת ה-APK שמתקבלת מהמודול הנוכחי. כלומר, כל מודול בעל שם אמור ליצור קובץ.jar
. תוכן המודול משמש לפתרון הפניות לנתיב הספריות בזמן הידור, והוא משולב בקובץ ה-APK שנוצר.static_libs: [ "junit", ],