Подготовители целей вызываются перед тестами на том уровне тестирования , на котором они определены. Это позволяет без проблем настроить любое устройство для проведения тестов.
Базовый интерфейс
Базовый интерфейс — ITargetPreparer
, позволяющий реализовать метод setUp
. Мы рекомендуем реализовать наш базовый абстрактный класс BaseTargetPreparer
, который предоставляет встроенную функцию отключения для лёгкого отключения подготовителя.
Более чистый интерфейс
Естественным расширением setUp
является tearDown
, предоставляемый другим интерфейсом, ITargetCleaner
. Он предоставляет интерфейс tearDown
, позволяющий очистить всё, что было сделано в setUp
после выполнения теста.
Класс BaseTargetPreparer
также расширяет ITargetCleaner
.
Рекомендации
Мы рекомендуем ограничить каждый препаратор одной основной функцией, например, установкой APK или выполнением команды. Это упростит повторное использование препараторов.
Также проверьте список доступных препараторов перед добавлением нового, чтобы избежать дублирования работы. Препараторы доступны в tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
XML-конфигурация
Тег объекта — target_preparer
, например:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
Также обратитесь к разделу Настройка наборов для получения контекста.
Настройка верхнего уровня
Если указано в настройке верхнего уровня, подготовка выполняется только один раз для каждого устройства. Примером может служить файл cts-common.xml
, представляющий собой настройку верхнего уровня для тестов Android Compatibility Test Suite (CTS).
Настройка на уровне модуля
Если это указано на уровне модуля, подготовительный модуль всегда запускается перед этим модулем. Пример — backup/AndroidTest.xml
, который определяет, как Tradefed запускает backup
модуль CTS.
Обратите внимание, что хотя подготовительный этап запускается перед модулем, он запускается после любых средств проверки состояния системы .