Test dell'host JAR

I test host dell'archivio Java (JAR) devono essere implementati per fornire una copertura completa del codice del software. Segui le istruzioni per creare test di unità locali. Scrivi piccoli test delle unità per convalidare una funzione specifica e basta.

Esempio

Il seguente file Blueprint fornisce un semplice esempio di test 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 test dell'host JAR. Ecco 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 è obbligatoria quando viene specificato il tipo di modulo java_test_host (all'inizio del blocco). Questa impostazione assegna un nome al modulo e il file JAR risultante avrà lo stesso nome e un suffisso .jar. Nell'esempio riportato di seguito,il file JAR di test risultante è denominato HelloWorldHostTest.jar. Inoltre, questa impostazione definisce anche un nome di destinazione per il modulo, in modo che tu possa utilizzare make [options] <HelloWorldHostTest> per creare il modulo di test e tutte le sue dipendenze.

    name: "HelloWorldHostTest",
    
  • L'impostazione test_suites rende il test facilmente rilevabile dall'ambiente di test della Federazione di commercianti. Qui è possibile aggiungere altre suite di test, ad esempio CTS, in modo da poter condividere il test dell'host JAR.

    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. Ciò significa che ogni modulo denominato deve produrre un file .jar. I contenuti del modulo vengono utilizzati per risolvere i riferimenti al classpath durante il tempo di compilazione e incorporati nell'APK risultante.

    static_libs: [
        "junit",
    ],