דף זה מתאר את היסודות כיצד ליישם מדווח תוצאות חדש ולהגדיר אותו לבדיקה.
ממשק ליבה
על מנת להגדיר כתב תוצאות חדש ב-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>