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

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

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

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