Preparadores de destino

Os preparadores de destino são invocados antes dos testes no nível de teste em que são definidos. Isso permite que a configuração de qualquer dispositivo seja executada sem problemas.

Interface base

A interface de base é ITargetPreparer, que permite que a implementação de um método setUp seja executada. Qa recomendamos implementar nossa classe abstrata básica BaseTargetPreparer, que tem um recurso de desativação integrado para desabilitar um preparador.

Interface mais limpa

A extensão natural de setUp é tearDown e é fornecida por outro interface de usuário ITargetCleaner. Isso fornece a interface tearDown, que permite limpar tudo o que foi feito em setUp após a execução do teste.

A classe BaseTargetPreparer também estende ITargetCleaner.

Recomendações

Recomendamos que cada preparador seja limitado a uma única função principal, por exemplo instalar um APK ou executar um comando. Isso facilita a reutilização de preparações.

Confira também a lista de preparadores disponíveis antes de adicionar um novo para evitar trabalho duplicado. Os preparadores estão disponíveis em tools/tradefederation/core/src/com/android/tradefed/targetprep/.

Configuração de XML

A tag do objeto é target_preparer, por exemplo:

<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
    <option name="install-arg" value="-d"/>
</target_preparer>

Consulte também Configurar suítes para dar mais contexto.

Configuração de nível superior

Se especificado em uma configuração de nível superior, o preparador é executado apenas uma vez para cada dispositivo. Um exemplo é cts-common.xml, que é uma configuração de nível superior para testes do Teste de compatibilidade do Android (CTS, na sigla em inglês).

Configuração no nível do módulo

Se especificado no nível do módulo, o preparador sempre será executado antes desse módulo. Um exemplo é backup/AndroidTest.xml, que define como o Tradefed executa o módulo CTS do backup.

Embora o preparador seja executado antes do módulo, ele é executado depois de qualquer verificadores de status do sistema.