I test host dell'archivio Java (JAR) devono essere implementati per fornire un codice completo copertura del software. Segui le istruzioni per creare test di unità locali. Scrivi test delle unità di piccole dimensioni 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 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 JAR
dell'host test. Guarda 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
è necessaria quando il tipo di modulojava_test_host
è specificato (all'inizio del blocco). Questa impostazione assegna un nome al tuo e il JAR risultante ha lo stesso nome e un suffisso.jar
. Nell'esempio riportato di seguito, il file JAR di test risultante è denominatoHelloWorldHostTest.jar
. Nel Inoltre, questa impostazione definisce anche un nome di destinazione per il modulo, che puoi utilizzaremake [options] <HelloWorldHostTest>
per creare il tuo test modulo e tutte le sue dipendenze.name: "HelloWorldHostTest",
L'impostazione
test_suites
consente di trovare facilmente il test da parte del Imbracatura di test della federazione. Qui è possibile aggiungere altre suite di test, ad esempio 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 i contenuti dei moduli denominati nell'APK risultante del modulo corrente. Questo significa che ogni modulo denominato dovrebbe generare un file.jar
. I contenuti del modulo vengono utilizzati per risolvere i riferimenti a classpath durante di compilazione e incorporate nell'APK risultante.static_libs: [ "junit", ],