สร้างผู้รายงานผลลัพธ์

หน้านี้อธิบายพื้นฐานของวิธีใช้งานเครื่องมือรายงานผลลัพธ์ใหม่และกำหนดค่าสำหรับการทดสอบ

อินเทอร์เฟซหลัก

เพื่อกำหนดผู้รายงานผลลัพธ์ใหม่ใน 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>