צריך להטמיע בדיקות מארח של קובץ 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", ],