本頁描述如何實作新結果報告器並為測試配置它的基礎知識。
核心介面
為了在 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>