創建結果報告者

本頁描述如何實作新結果報告器並為測試配置它的基礎知識。

核心介面

為了在 Tradefed 中定義新的結果報告器,類別必須實作ITestInvocationListener接口,該介面允許接收和處理呼叫的不同階段:

  • invocationStarted
  • invocationEnded
  • invocationFailed

結果報告器也處理每個測試運行的不同階段:

  • testRunStarted
  • testStarted
  • testFailedtestIgnored
  • 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>