בדף הזה מוסבר איך מטמיעים כלי חדש לדיווח על תוצאות ומגדירים אותו לבדיקה.
ממשק ליבה
כדי להגדיר כלי חדש לדיווח על תוצאות ב-Tradefed, מחלקה צריכה להטמיע את הממשק ITestInvocationListener שמאפשר לקבל ולטפל בשלבים שונים של ההפעלה:
invocationStartedinvocationEndedinvocationFailed
הם גם מטפלים בשלבים השונים של כל הרצת בדיקה:
testRunStartedtestStartedtestFailedאוtestIgnoredtestEndedtestRunFailedtestRunEnded
בהינתן כל האירועים האלה, יש שני סוגים עיקריים של דוחות תוצאות:
- חשוב לך רק לדווח על התוצאות הסופיות המלאות.
- לנקוט פעולה לגבי תוצאות חלקיות.
כלי לדיווח על תוצאות שמדווח על תוצאות סופיות מלאות
הסוג הזה הוא הנפוץ ביותר כשמדובר באינטראקציה עם שירות חיצוני שמקבל את התוצאות. הכלי לדיווח פשוט מקבל את התוצאות ומצטברות, ואז שולח את כולן ב-invocationEnded לנקודת הקצה של התוצאות.
מומלץ להאריך את CollectingTestListener במקום את ממשק הבסיס כדי להימנע מהטמעה מחדש של שמירה ואחסון של התוצאות עד invocationEnded.
כלי לדיווח על תוצאות שמדווח על תוצאות חלקיות
בדרך כלל משתמשים בסוג הזה כדי להזרים את התוצאות, כשמקבלים תוצאות ודוחפים אותן למקומות אחרים באופן מיידי. לדוגמה, סוג כזה של פונקציה יכול להיות פונקציית דיווח שמתעדת את התוצאות במסוף.
הסוג הזה ספציפי לסוג הטיפול שנדרש באירועים, ולכן בדרך כלל מומלץ להטמיע את ממשק הבסיס.
תצורת XML
תג האובייקט הוא result_reporter. לדוגמה:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>