Preparadores de alvos

Os preparadores de destino são chamados antes dos testes no nível de teste em que são definidos. Isso permite a configuração de qualquer dispositivo para que os testes sejam executados sem problemas.

Interface básica

A interface base é ITargetPreparer , que permite a implementação de um método setUp que será executado. Recomendamos implementar nossa classe abstrata básica BaseTargetPreparer , que fornece 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 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 dos preparadores.

Você também deve verificar a lista de preparadores disponíveis antes de adicionar um novo para evitar a 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 será target_preparer , por exemplo:

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

Consulte também Configuração do conjunto para obter o 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 será executado após qualquer Verificador de status do sistema .