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. Recomendamos
implementar nossa classe abstrata básica
BaseTargetPreparer
,
que oferece um recurso de desativação integrado para desativar facilmente um preparador.
Interface mais limpa
A extensão natural de setUp
é tearDown
e é fornecida por uma interface
diferente,
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 preparativos estão disponíveis em tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
Configuração de XML
A tag de 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 pacotes para entender o 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 backup
.
O preparador é executado antes do módulo, mas depois de todos os verificadores de status do sistema.