Test host JAR

È necessario implementare test host dell'archivio Java (JAR) per fornire una copertura completa del codice del software. Seguire le istruzioni per creare test di unità locali . Scrivi piccoli test unitari per convalidare una funzione specifica e niente di più.

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

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

Impostazioni

Vedere di seguito per le spiegazioni delle seguenti impostazioni:

  • L'impostazione 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 utilizzare 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 rilevabile dal test cablaggio della Trade Federation. Qui è possibile aggiungere altre suite di test, come 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 il contenuto dei moduli denominati nell'APK risultante del modulo corrente. Ciò significa che è previsto che ciascun modulo denominato produca 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",
    ],