Структура средства запуска тестов

Тестовый исполнитель – это единица выполнения потока вызова. Здесь и выполняются тесты.

Интерфейсы

Тестировщики определяются с помощью интерфейса IRemoteTest, который предоставляет простой метод run для реализации, вызываемый при запуске тестов.

Это позволяет задать самое простое определение тестового запуска. Но на практике авторам тестов потребуется больше информации, чтобы правильно их написать, обычно это информация о сборке и устройстве. В этом случае вам помогут следующие интерфейсы:

Основные

Эти два интерфейса наиболее широко используются сегодня, поскольку они представляют основные потребности большинства тестов.

  • IBuildReceiver позволяет тесту получить объект IBuildInfo, созданный на этапе поставщика сборки и содержащий всю информацию и артефакты, связанные с настройкой теста.
  • IDeviceTest позволяет TF получить объект ITestDevice, который представляет тестируемое устройство и предоставляет API для взаимодействия с ним.

Расширенные

Существуют дополнительные интерфейсы, которые позволяют более сложное взаимодействие между тестовой программой и средством запуска тестов:

  • ITestFilterReceiver, который позволяет тесту получать набор фильтров для запуска только определенных тестов. Это полезно, когда нужно запустить только часть тестов.
  • ITestCollector, который позволяет тестовому исполнителю выполнять только пробные запуски тестов, а не их фактическое выполнение. Это полезно для сбора списка всех тестовых случаев.

Существующие средства запуска тестов

Уже существует множество средств запуска тестов, в том числе для основных типов тестов:

Помимо перечисленных выше, существует большое количество пользовательских средств запуска тестов. Они служат специализированным целям для некоторых функциональных тестов, например Boot Test.

Как написать новый инструмент запуска тестов

Дополнительные инструкции по написанию нового средства запуска тестов доступны в разделе Написание тестов.