สร้างเครื่องมือรายงานผล

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

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

หากต้องการกำหนดเครื่องมือรายงานผลลัพธ์ใหม่ใน Tradefed ชั้นเรียนต้องใช้งานITestInvocationListener อินเทอร์เฟซที่อนุญาตให้รับและจัดการการเรียกใช้ในแต่ละระยะ ดังนี้

  • invocationStarted
  • invocationEnded
  • invocationFailed

นอกจากนี้ เครื่องมือรายงานผลลัพธ์ยังจัดการกับระยะต่างๆ ของการทดสอบแต่ละครั้งด้วย

  • testRunStarted
  • testStarted
  • testFailed หรือ testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

เหตุการณ์ทั้งหมดนี้ส่งผลให้ผู้รายงานผลมี 2 ประเภทหลักๆ ดังนี้

  • สนใจเฉพาะการรายงานผลลัพธ์ที่สมบูรณ์ในขั้นสุดท้าย
  • ดำเนินการกับผลลัพธ์บางส่วน

รายงานผลลัพธ์ที่รายงานผลลัพธ์ที่สมบูรณ์ในขั้นสุดท้าย

การโต้ตอบประเภทนี้เป็นกรณีที่พบได้บ่อยที่สุดในการโต้ตอบกับผู้ใช้ภายนอก บริการที่ได้รับผลลัพธ์ ผู้รายงานเพียงแค่รับและรวบรวมผลลัพธ์ แล้วส่งทั้งหมดใน invocationEnded ไปยังปลายทางของผลลัพธ์

เราขอแนะนำให้ผู้รายงานเหล่านั้นขยาย CollectingTestListener แทนอินเทอร์เฟซพื้นฐานเพื่อหลีกเลี่ยงการติดตั้งใช้งานการบันทึกและจัดเก็บผลลัพธ์อีกครั้งจนถึง invocationEnded

ผู้รายงานผลลัพธ์ที่รายงานผลลัพธ์บางส่วน

ประเภทนี้มักใช้กับวิธีการสตรีมผลลัพธ์ เมื่อได้รับผลลัพธ์และส่งไปยังที่อื่นทันที เช่น ผู้รายงานที่บันทึกผลลัพธ์ลงในคอนโซลจะจัดอยู่ในประเภทนี้

ประเภทนี้จะเจาะจงประเภทการจัดการที่จำเป็นกับเหตุการณ์ วิธีการที่แนะนำคือการใช้อินเทอร์เฟซพื้นฐาน

การกำหนดค่า XML

แท็กออบเจ็กต์คือ result_reporter เช่น

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>