Структура тест-раннера

Средство запуска тестов — это исполнительная единица потока вызова. Именно здесь на самом деле запускаются тесты.

Интерфейсы

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

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

Базовый

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

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

Передовой

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

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

Существующие тестировщики

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

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

Напишите новый тест-раннер

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