כלול בדיקות יחידה ותפקוד

חלק זה מסביר כיצד להפעיל ולתרום למבחני הפדרציה הסחר לאחר ביצוע שינוי בפרויקט. זה כולל:

  • היכן להוסיף את כיתות המבחן החדשות ליחידה
  • הפעלת בדיקות יחידה ב-Eclipse ומחוץ ל-Eclipse IDE
  • היכן להוסיף בדיקות פונקציונליות
  • הפעלת הבדיקות הפונקציונליות
  • הפעלת חלק מ-TF שלח מראש אימות מקומי

הוסף בדיקות יחידה

בפרויקט הקוד הפתוח של Android (AOSP), הוסף את מחלקת בדיקות היחידה ב: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java

חשוב: הוספת כיתות המבחן החדשות שלך למיקומים אלו תגרום לכך שהן יפעלו אוטומטית ב-Presubmit ללא הגדרה נוספת.

הפעל בדיקות יחידה

כל בדיקות יחידת AOSP ובדיקות פונקציונליות עבור Trade Federation ממוקמות בפרויקט tools/tradefederation/core/tests .

בתוך Eclipse, כדי להריץ מבחן יחידה בודדת, פשוט לחץ לחיצה ימנית על הבדיקה ובחר Run As > JUnit . כדי להפעיל את כל בדיקות היחידה, הפעל את חבילת com.android.tradefed.UnitTests .

אתה יכול גם להתחיל את בדיקת היחידה משורת הפקודה בעץ המקור של Tradefed לאחר הבנייה, כך: tools/tradefederation/core/javatests/run_tradefed_tests.sh

ניתן לבצע בדיקות יחידה באופן עצמאי, אך יש לבצע בדיקות פונקציונליות באמצעות Trade Federation עצמה; הם דורשים מכשיר אנדרואיד. כל הבדיקות הפונקציונליות צריכות לפעול לפי מוסכמות השמות *FuncTest .

בדוק את תוצאות בדיקות היחידה

בעת הפעלת run_tradefed_tests.sh , בדיקות היחידה מפעילות את כל החלקים של רתמת הבדיקה, כולל כמה מצבי שגיאה. זה ידפיס פלט מילולי למסוף, כולל עקבות מחסנית.

הסיכום הסופי של התוצאות יציין אם אירע כשל או לא.

סיכום סופי לדוגמה בקונסולה:

12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]

כל הבדיקות נשמרות כדי לעבור, אז אם מתרחש כשל כלשהו בשינוי המקומי שלך, ודא שהבדיקות מתוקנות.

הוסף בדיקות פונקציונליות

  • אם הבדיקה הפונקציונלית שלך כוללת מכשיר (משתמש בכל ITestDevice API) הגדרת החבילה נמצאת ב- com.android.tradefed.DeviceFuncTests . אחרת, הגדרת החבילה ממוקמת ב- com.android.tradefed.FuncTests .

  • אם יש היגיון בשיטות הבדיקה שלך להכניס אחת מתת-מחלקות החבילות הקיימות, העדיפו להוסיף אותה שם. אחרת, אל תהסס להוסיף מחלקה חדשה לחבילה הרלוונטית.

  • בכל מקרה, על ידי הוספתו לחבילה, הבדיקה שלך מופעלת אוטומטית בצינור ה-CI עם שאר הבדיקות הפונקציונליות.

הפעל בדיקות פונקציונליות

כדי להריץ מבחן פונקציונלי מאקליפס:

  1. ודא שהתקן מחובר למארח וש- adb ובמידת הצורך fastboot נמצאים ב-PATH של Eclipse. הדרך הקלה ביותר לעשות זאת היא להפעיל את Eclipse מהגדרת מעטפת עם ה-PATH המתאים.
  2. צור יישום Java. הפעל תצורה דרך הפעלה > הפעל תצורות .
  3. הגדר את הפרויקט ל- tradefed-tests ואת המחלקה הראשית ל- com.android.tradefed.command.CommandRunner .
  4. הפעל m tradefed-all .
  5. ספק את הארגומנטים הבאים של שורת הפקודה בלשונית ארגומנטים : host --class <full path of test class to run>
  6. לחץ על הפעל .

להריץ בדיקות פונקציונליות מחוץ ל-Eclipse.

  1. בניית הפדרציה לסחר.
  2. חבר מכשיר אנדרואיד למארח.
  3. הפעל את tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
  4. לחלופין, בחר את ההתקן על ידי הוספה של --serial <serial no> כפי שהוא מופיע בפלט של adb devices .

הפעל בדיקות TF Presubmit נגד שינויים מקומיים

אם אתה רוצה להפעיל בצורה דומה ל-TF presubmit, השתמש בזה:

tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh

זה יפעיל את כל בדיקות ה-TF presubmit מול ה-TF שנבנה באופן מקומי כדי לעזור לך לאמת שהשינוי שלך אינו שובר בדיקות כלשהן.

מבחני TF Presubmit הם ערכת-על של מבחני היחידה שלמעלה, אך איטי יותר להפעיל אותם. לכן מומלץ להריץ את בדיקות היחידה במהלך הפיתוח לצורך אימות מהיר יותר ולהריץ את ה-presubmits לפני העלאת ה-CL.