Java Archive (JAR)-Hosttests sollten implementiert werden, um vollständigen Code bereitzustellen Abdeckung Ihrer Software. Folgen Sie der Anleitung zum Erstellen lokaler Unit-Tests. Schreiben Sie kleine Einheitentests, um nur eine bestimmte Funktion zu validieren.
Beispiel
Die folgende Blueprint-Datei enthält ein einfaches Beispiel für einen Hello World-JAR-Hosttest kopieren und an Ihre Bedürfnisse anpassen: platform_testing/tests/beispiel/jarhosttest/Android.bp
Dies entspricht dem tatsächlichen Testcode unter: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Der Einfachheit halber finden Sie hier einen Snapshot der Blueprint-Datei:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Die Deklaration java_test_host
am Anfang gibt an, dass es sich um eine JAR-Datei handelt
Host-Test. Ein Beispiel für die Verwendung finden Sie hier:
frameworks/base/tools/powermodel/Android.bp
Einstellungen
Unten finden Sie Erläuterungen zu den folgenden Einstellungen:
Die Einstellung
name
ist erforderlich, wenn der Modultypjava_test_host
angegeben wird (am Anfang des Blocks). Mit dieser Einstellung wird Ihr Modul und die resultierende JAR-Datei hat denselben Namen und das Suffix.jar
. Im im Beispiel unten hat die resultierende Test-JAR den NamenHelloWorldHostTest.jar
. In Mit dieser Einstellung wird auch ein Zielname für Ihr Modul definiert. das Siemake [options] <HelloWorldHostTest>
zum Erstellen Ihres Tests verwenden können, und allen zugehörigen Abhängigkeiten enthält.name: "HelloWorldHostTest",
Durch die Einstellung „
test_suites
“ ist der Test für Trader leicht zu finden Föderations-Test-Harnisch. Hier können weitere Testsuiten hinzugefügt werden, z. B. CTS, damit der JAR-Hosttesttest freigegeben werden kann.test_suites: ["general-tests"],
Die Einstellung
static_libs
weist das Build-System an, den Inhalt der genannten Module in das resultierende APK des aktuellen Moduls einzubinden. Das bedeutet, dass von jedem benannten Modul erwartet wird, dass es eine.jar
-Datei erstellt. Der Inhalt des Moduls wird zum Auflösen von Klassenpfadverweisen während und in das resultierende APK integriert.static_libs: [ "junit", ],