Test host JAR (Java).

I test host JAR dovrebbero essere implementati per fornire una copertura completa del codice del tuo software. Segui le istruzioni per creare test di unità locali . Scrivi piccoli unit test per convalidare una funzione specifica e nient'altro.

Esempio

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

Questo corrisponde al codice di test effettivo trovato in: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

Un'istantanea del file Blueprint è inclusa qui per comodità:

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 test host JAR. Vedi un esempio del suo utilizzo in: frameworks/base/tools/powermodel/Android.bp

Impostazioni

Vedi sotto per le spiegazioni delle seguenti impostazioni:

  • L'impostazione del name è richiesta quando viene specificato il tipo di modulo java_test_host (all'inizio del blocco). Questa impostazione dà un nome al tuo modulo e il JAR risultante ha lo stesso nome e un suffisso .jar . Nell'esempio seguente, il JAR di test risultante è denominato HelloWorldHostTest.jar . Inoltre, questa impostazione definisce anche un nome di destinazione make per il tuo modulo, in modo che tu possa usare make [options] <HelloWorldHostTest> per creare il tuo modulo di test e tutte le sue dipendenze.

    name: "HelloWorldHostTest",
    
  • L'impostazione test_suites rende il test facilmente individuabile dal test harness della Trade Federation. Altre suite di test possono essere aggiunte qui, come CTS, in modo che il test di test host JAR possa essere condiviso.

    test_suites: ["general-tests"],
    
  • L'impostazione static_libs indica al sistema di compilazione di incorporare il contenuto dei moduli denominati nell'APK risultante del modulo corrente. Ciò significa che ogni modulo denominato deve produrre un file .jar . Il contenuto del modulo viene utilizzato per risolvere i riferimenti al percorso di classe durante la fase di compilazione e incorporato nell'APK risultante.

    static_libs: [
        "junit",
    ],