I test host JAR dovrebbero essere implementati per fornire una copertura completa del codice del software. Seguire le istruzioni per creare unit test locali . Scrivi piccoli unit test 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 proprie esigenze: platform_testing/tests/example/jarhosttest/Android.bp
Ciò 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. Vedere 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 assegna un nome al 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 target make per il tuo modulo, in modo che tu possa usaremake [options] <HelloWorldHostTest>
per costruire il tuo modulo di test e tutte le sue dipendenze.name: "HelloWorldHostTest",
L'impostazione
test_suites
rende il test facilmente rilevabile dal cablaggio di test della Federazione dei Mercanti. Altre suite di test possono essere aggiunte qui, 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 ogni modulo denominato dovrebbe 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", ],