יצירת דיווח על תוצאות

בדף הזה מוסבר איך מטמיעים דיווח על תוצאות חדש ומגדירים אותו לבדיקה.

ממשק הליבה

כדי להגדיר דיווח על תוצאות חדש ב-Tradefed, צריך להטמיע בכיתה את הממשק ITestInvocationListener שמאפשר לקבל ולטפל בשלבים השונים של ההפעלה:

  • invocationStarted
  • invocationEnded
  • invocationFailed

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

  • testRunStarted
  • testStarted
  • testFailed או testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

בהתאם לכל האירועים האלה, יש שני סוגים עיקריים של דיווח על תוצאות: דיווח על תוצאות:

  • חשוב רק לדווח על התוצאות הסופיות והמלאות.
  • לבצע פעולות לגבי תוצאות חלקיות.

דיווח על תוצאות שמדווח על תוצאות סופיות מלאות

זהו הסוג הנפוץ ביותר כשמדובר באינטראקציה עם שירות חיצוני שמקבל את התוצאות. הכלי שמדווח על האירוע פשוט מקבל את התוצאות ומצטבר אותן, ואז שולח את כולן ב-invocationEnded לנקודת הקצה של התוצאה.

אנחנו ממליצים לדווח על אירועים כאלה באמצעות CollectingTestListener במקום הממשק הבסיסי, כדי להימנע מהטמעה מחדש של השמירה והאחסון של התוצאות עד ל-invocationEnded.

דיווח על תוצאות שמדווח על תוצאות חלקיות

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

הסוג הזה ספציפי לסוג הטיפול הנדרש באירועים, ולכן בדרך כלל מומלץ להטמיע את הממשק הבסיסי.

הגדרות XML

תג האובייקט הוא result_reporter. לדוגמה:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>