本頁面將說明如何實作新結果回報器,並為測試進行設定的基本概念。
核心介面
如要在 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>