Test dell'host JAR

I test host dell'archivio Java (JAR) devono essere implementati per fornire un codice completo copertura del software. Segui le istruzioni per creare test di unità locali. Scrivi test delle unità di piccole dimensioni per convalidare una funzione specifica e nient'altro.

Esempio

Il seguente file Blueprint fornisce un semplice esempio di test dell'host JAR Hello World da copiare e adattare alle tue esigenze: platform_testing/tests/example/jarhosttest/Android.bp

Corrisponde al codice di test effettivo disponibile all'indirizzo: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

Per comodità, è inclusa un'istantanea del file Blueprint:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

La dichiarazione java_test_host all'inizio indica che si tratta di un JAR dell'host test. Guarda un esempio del suo utilizzo in: frameworks/base/tools/powermodel/Android.bp

Impostazioni

Di seguito sono riportate le spiegazioni sulle seguenti impostazioni:

  • L'impostazione name è necessaria quando il tipo di modulo java_test_host è specificato (all'inizio del blocco). Questa impostazione assegna un nome al tuo e il JAR risultante ha lo stesso nome e un suffisso .jar. Nell'esempio riportato di seguito, il file JAR di test risultante è denominato HelloWorldHostTest.jar. Nel Inoltre, questa impostazione definisce anche un nome di destinazione per il modulo, che puoi utilizzare make [options] <HelloWorldHostTest> per creare il tuo test modulo e tutte le sue dipendenze.

    name: "HelloWorldHostTest",
    
  • L'impostazione test_suites consente di trovare facilmente il test da parte del Imbracatura di test della federazione. Qui è possibile aggiungere altre suite di test, ad esempio CTS, in modo che il test di test dell'host JAR possa essere condiviso.

    test_suites: ["general-tests"],
    
  • L'impostazione static_libs indica al sistema di compilazione di incorporare i contenuti dei moduli denominati nell'APK risultante del modulo corrente. Questo significa che ogni modulo denominato dovrebbe generare un file .jar. I contenuti del modulo vengono utilizzati per risolvere i riferimenti a classpath durante di compilazione e incorporate nell'APK risultante.

    static_libs: [
        "junit",
    ],