Se deben implementar pruebas de host de archivo Java (JAR) para proporcionar código completo la cobertura de tu software. Sigue las instrucciones para compilar una unidad local. pruebas. Escribe pruebas de unidades pequeñas para validar una función específica y nada más.
Ejemplo
El siguiente archivo de esquema proporciona un ejemplo simple de prueba de host JAR de Hello World para copiar y adaptarte a tus necesidades: platform_testing/tests/example/jarhosttest/Android.bp
Esto corresponde al código de prueba real que se encuentra en: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Aquí se incluye un resumen del archivo de esquema para tu comodidad:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
La declaración java_test_host
al comienzo indica que este es un archivo JAR
prueba de host. Consulta un ejemplo de su uso en las siguientes secciones:
frameworks/base/tools/powermodel/Android.bp
Configuración
A continuación, encontrarás explicaciones sobre los siguientes parámetros de configuración:
La configuración de
name
es obligatoria cuando se especifica el tipo de módulojava_test_host
(al comienzo del bloque). Este parámetro le da un nombre a tu módulo, y el JAR resultante tiene el mismo nombre y un sufijo.jar
. En la ejemplo a continuación,el JAR de prueba resultante se llamaHelloWorldHostTest.jar
. Además, este parámetro de configuración también define un nombre de destino de make para tu módulo, de modo que puedas usarmake [options] <HelloWorldHostTest>
para compilar tu módulo de prueba y todas sus dependencias.name: "HelloWorldHostTest",
El parámetro de configuración
test_suites
hace que la prueba sea fácil de encontrar para el comercio Agente de prueba de federación. Aquí se pueden agregar otros conjuntos de pruebas, como CTS, para compartir la prueba del host JAR.test_suites: ["general-tests"],
El parámetro de configuración
static_libs
le indica al sistema de compilación que incorpore el el contenido de los módulos nombrados en el APK resultante del módulo actual. Esto significa que se espera que cada módulo nombrado produzca un archivo.jar
. El contenido del módulo se usa para resolver referencias de rutas de clase durante tiempo de compilación y se incorpora al APK resultante.static_libs: [ "junit", ],