Os preparadores de destino são invocados antes dos testes no nível de teste em que estão definidos. Isso permite que a configuração de qualquer dispositivo para que os testes sejam executados sem problemas.
Interface básica
A interface base é ITargetPreparer
, que permite a execução da implementação de um método setUp
. Recomendamos implementar nossa classe abstrata básica BaseTargetPreparer
, que fornece um recurso de desabilitação integrado para desabilitar facilmente um preparador.
Interface mais limpa
A extensão natural do setUp
é tearDown
e é fornecida por uma interface diferente, ITargetCleaner
. Isso fornece a interface tearDown
que permite limpar tudo o que foi feito no 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. Isto permite uma reutilização mais fácil de preparadores.
Verifique também a lista de preparadores disponíveis antes de adicionar um novo para evitar duplicação de trabalho. Os preparadores estão disponíveis em tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
Configuração 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 contexto.
Configuração de nível superior
Se especificado em uma configuração de nível superior, o preparador será executado apenas uma vez para cada dispositivo. Um exemplo é cts-common.xml
, que é uma configuração de nível superior para testes do Android Compatibility Test Suite (CTS).
Configuração em nível de 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
.
Observe que embora o preparador seja executado antes do módulo, ele é executado após qualquer verificador de status do sistema .