Pruebas de host JAR

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:

  • El parámetro de configuración name es obligatorio cuando el tipo de módulo java_test_host es especificado (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 llama HelloWorldHostTest.jar. En este parámetro de configuración también define un nombre de destino para tu módulo, por que puedes usar make [options] <HelloWorldHostTest> para compilar tu prueba módulo 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 con nombre 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",
    ],