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

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

ממשק ליבה

כדי להגדיר כלי חדש לדיווח על תוצאות ב-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>