Создать отчет о результатах

На этой странице описываются основы внедрения нового генератора отчетов о результатах и ​​его настройки для тестирования.

Основной интерфейс

Чтобы определить новый генератор отчетов о результатах в 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>