Estrutura de um executor de teste

O executor de teste é a unidade de execução do fluxo de invocação. É aqui que os testes realmente são executados.

Interfaces

Os executores de teste são definidos por meio da interface IRemoteTest , que fornece um método de run simples para implementar que será chamado quando os testes forem executados.

Isso permite que ocorra a definição mais simples de uma execução de teste. Mas, na prática, os criadores de teste precisarão de mais informações para escrever adequadamente seus testes, geralmente informações de construção e dispositivo. É aqui que as seguintes interfaces são úteis.

básico

Essas duas interfaces são as mais utilizadas atualmente, pois representam as necessidades básicas da maioria dos testes.

  • IBuildReceiver permite que o teste obtenha o objeto IBuildInfo criado na etapa do provedor de construção contendo todas as informações e artefatos relacionados à configuração do teste.
  • IDeviceTest permite que o TF receba o objeto ITestDevice que representa o dispositivo em teste e fornece uma API para interagir com ele.

Avançado

Existem interfaces adicionais que permitem uma interação mais complexa entre o equipamento de teste e o executor de teste:

  • ITestFilterReceiver , que permite que o teste receba um conjunto de filtros para executar apenas determinados testes. Isso é útil na execução de um subconjunto dos testes.
  • ITestCollector , que permite que um executor de teste execute apenas os testes em vez de realmente executá-los. Isso é útil para coletar a lista de todos os casos de teste.

Executores de teste existentes

Já existe uma variedade de executores de teste, alguns para os principais tipos de teste:

Existe um grande número de executores de teste personalizados além dos mencionados acima; eles servem a propósitos especializados para alguns testes funcionais, por exemplo, Teste de Inicialização.

Escreva um novo executor de teste

Mais orientações sobre como escrever um novo executor de teste estão disponíveis na seção de testes de escrita .