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