建立結果回報器

本頁面將說明如何實作新結果回報器的基本概念,並為測試進行設定。

核心介面

如要在 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>