Los preparadores de destino se invocan antes de las pruebas en el nivel de prueba en el que se definen. Esto permite configurar cualquier dispositivo para que las pruebas se ejecuten sin problemas.
Interfaz base
La interfaz base es ITargetPreparer
, que permite la implementación de un método setUp
para que se ejecute. Te recomendamos que implementes nuestra clase abstracta básica BaseTargetPreparer
, que proporciona una función de inhabilitación integrada para inhabilitar fácilmente un preparador.
Interfaz de Cleaner
La extensión natural de setUp
es tearDown
y se proporciona a través de una interfaz diferente, ITargetCleaner
. Esto proporciona la interfaz tearDown
que permite limpiar todo lo que se hizo en setUp
después de la ejecución de la prueba.
La clase BaseTargetPreparer
también extiende ITargetCleaner
.
Recomendaciones
Recomendamos que cada preparador se limite a una sola función principal, por ejemplo, instalar un APK o ejecutar un comando. Esto permite reutilizar los preparadores con mayor facilidad.
También consulta la lista de preparadores disponibles antes de agregar uno nuevo para evitar duplicar el trabajo. Los preparadores están disponibles en tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
Configuración de XML
La etiqueta del objeto es target_preparer
, por ejemplo:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
También consulta Configura suites para obtener contexto.
Configuración de nivel superior
Si se especifica en una configuración de nivel superior, el preparador se ejecuta solo una vez para cada dispositivo. Un ejemplo es cts-common.xml
, que es una configuración de nivel superior para las pruebas del Conjunto de pruebas de compatibilidad (CTS) de Android.
Configuración a nivel del módulo
Si se especifica a nivel del módulo, el preparador siempre se ejecuta antes de ese módulo. Un ejemplo es backup/AndroidTest.xml
, que define cómo Tradefed ejecuta el módulo backup
del CTS.
Ten en cuenta que, si bien el preparador se ejecuta antes del módulo, se ejecuta después de cualquier verificador de estado del sistema.