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