È 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 modulojava_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 è denominatoHelloWorldHostTest.jar
. Inoltre, questa impostazione definisce anche un nome di destinazione make per il tuo modulo, in modo che tu possa utilizzaremake [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", ],