Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

新しい結果レポーターの作成

このセクションでは、新しい結果レポーターを実装してテスト用に設定する基本的な方法について説明します。

コア インターフェース

Tradefed で新しい結果レポーターを定義するには、クラスで ITestInvocationListener インターフェースを実装し、呼び出しのさまざまな段階を受け取って処理できるようにします。

  • invocationStarted
  • invocationEnded
  • invocationFailed

結果レポーターは、各テスト実行のさまざまな段階も処理します。

  • testRunStarted
  • testStarted
  • testFailed/testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

これらすべてのイベントを考慮すると、結果レポーターには主に次の 2 つのタイプがあります。

  • 最終の完全な結果の報告のみ配慮するもの。
  • 部分的な結果に対処するもの。

最終の完全な結果を報告する結果レポーター

このタイプは、結果を受け取る外部サービスとやり取りする場合に最も一般的です。レポーターは単に結果を受け取って蓄積し、すべてを invocationEnded で結果エンドポイントに送信します。

このようなレポーターでは、保存を再実装したり、invocationEnded まで結果を保存したりしないように、ベース インターフェースではなく CollectingTestListener を拡張することをおすすめします。

部分的な結果を報告する結果レポーター

このタイプは通常、結果を受け取ってすぐ他の場所にプッシュする場合に、結果のストリーミング アプローチに使用されます。たとえば結果をコンソールに記録するレポーターは、このタイプです。

このタイプはイベントで必要な処理のタイプに固有であるため、通常はベース インターフェースを実装することをおすすめします。

XML 設定

オブジェクト タグは result_reporter になります。次に例を示します。

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
        <option name="suppress-passed-tests" value="true"/>
    </result_reporter>