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