このページでは、新しい結果レポーターを実装してテスト用に設定する基本的な方法について説明します。
コア インターフェース
Tradefed で新しい結果レポーターを定義するには、クラスで ITestInvocationListener
インターフェースを実装し、呼び出しのさまざまな段階を受け取って処理できるようにします。
invocationStarted
invocationEnded
invocationFailed
結果レポーターは、各テスト実行のさまざまな段階も処理します。
testRunStarted
testStarted
testFailed
またはtestIgnored
testEnded
testRunFailed
testRunEnded
これらすべてのイベントを考慮すると、結果レポーターには主に次の 2 つのタイプがあります。
- 最終の完全な結果の報告のみを行うもの。
- 部分的な結果に対応するもの。
最終の完全な結果を報告する結果レポーター
このタイプは、結果を受け取る外部サービスとやり取りする場合に最も一般的です。レポーターは単純に結果を受け取って蓄積し、そのすべてを invocationEnded
で結果エンドポイントに送信します。
このようなレポーターでは、ベース インターフェースではなく CollectingTestListener
を拡張して、invocationEnded
まで結果の再実装、保存、格納を行わないようにすることをおすすめします。
部分的な結果を報告する結果レポーター
このタイプは通常、結果を受け取ってすぐ他の場所にプッシュする場合に、結果のストリーミング アプローチに使用されます。たとえば結果をコンソールに記録するレポーターは、このタイプです。
このタイプは、イベントで必要な処理のタイプに応じて使用するため、通常はベース インターフェースを実装することをおすすめします。
XML 構成
オブジェクト タグは result_reporter
です。次に例を示します。
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>