El ejecutor de pruebas es la unidad de ejecución del flujo de invocación. Aquí es donde se ejecutan las pruebas.
Interfaces
Los ejecutores de pruebas se definen a través de la interfaz IRemoteTest,
que proporciona un método run simple para implementar que se llamará cuando se ejecuten las pruebas.
Esto permite que se produzca la definición más simple de una ejecución de prueba. Sin embargo, en la práctica, los escritores de pruebas necesitarán más información para escribir sus pruebas de forma adecuada, por lo general, información de compilación y del dispositivo. Aquí es donde las siguientes interfaces son útiles.
Básico
Estas dos interfaces son las más utilizadas en la actualidad, ya que representan las necesidades básicas de la mayoría de las pruebas.
- IBuildReceiver
permite que la prueba obtenga el objeto
IBuildInfocreado en el paso del proveedor de compilación que contiene toda la información y los artefactos relacionados con la configuración de la prueba. - IDeviceTest
permite que TF reciba el objeto
ITestDeviceque representa el dispositivo en prueba y proporciona una API para interactuar con él.
Avanzado
Existen interfaces adicionales que permiten una interacción más compleja entre el arnés de prueba y el ejecutor de pruebas:
- ITestFilterReceiver, que permite que la prueba reciba un conjunto de filtros para ejecutar solo ciertas pruebas. Esto es útil para ejecutar un subconjunto de las pruebas.
- ITestCollector, que permite que un ejecutor de pruebas solo ejecute las pruebas en modo de prueba en lugar de ejecutarlas. Esto es útil para recopilar la lista de todos los casos de prueba.
Ejecutores de pruebas existentes
Ya existe una variedad de ejecutores de pruebas, algunos para los principales tipos de pruebas:
- AndroidJUnitTest / InstrumentationTest (asociado con AJUR en el lado del dispositivo)
- GTest (lado del dispositivo y del host) con la biblioteca googletest
- Pruebas controladas por el host (pruebas de Java que se ejecutan en el host y llaman al dispositivo desde allí)
- Pruebas de unidades de Java puras (nuestro ejecutor hace ambas cosas)
- Pruebas de Python
- Pruebas de Google Benchmark con la biblioteca benchmark
Además de lo anterior, existe una gran cantidad de ejecutores de pruebas personalizados; cumplen propósitos especializados para algunas pruebas funcionales, por ejemplo, la prueba de arranque.
Escribe un nuevo ejecutor de pruebas
En la sección de escritura de pruebas , se ofrece más orientación para escribir un nuevo ejecutor de pruebas.