На этой странице описаны основные принципы реализации нового средства формирования отчетов о результатах и его настройки для тестирования.
Основной интерфейс
Для определения нового средства сбора результатов в 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>