Los preparadores de objetivos se invocan antes de las pruebas en el nivel de prueba en el que están definidos. Esto permite que la configuración de cualquier dispositivo para que las pruebas se ejecuten sin problemas.
Interfaz básica
La interfaz base es ITargetPreparer
, que permite ejecutar la implementación de un método setUp
. Recomendamos implementar nuestra clase abstracta básica BaseTargetPreparer
, que proporciona una función de desactivación incorporada para desactivar fácilmente un preparador.
Interfaz más limpia
La extensión natural de setUp
es tearDown
y la proporciona una interfaz diferente, ITargetCleaner
. Eso 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 amplía ITargetCleaner
.
Recomendaciones
Recomendamos que cada preparador se limite a una única función principal, por ejemplo, instalar un APK o ejecutar un comando. Esto permite una reutilización más fácil de los preparadores.
Consulte también 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 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>
Consulte también Configurar suites para conocer el 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 de Android Compatibility Test Suite (CTS).
Configuración a nivel de módulo
Si se especifica a nivel de 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 CTS backup
.
Tenga en cuenta que, si bien el preparador se ejecuta antes del módulo, se ejecuta después de cualquier comprobador de estado del sistema .