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

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

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

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