Aby zapewnić pełną obsługę oprogramowania, warto wdrożyć testy hosta archiwum Java (JAR). Wykonaj instrukcje, aby utworzyć testy jednostek lokalnych. pisać małe testy jednostkowe, które weryfikują tylko jedną funkcję,
Przykład
Ten plik Blueprint zawiera prosty przykład testu hosta pliku JAR Hello World, który możesz skopiować i dostosować do swoich potrzeb: platform_testing/tests/example/jarhosttest/Android.bp
Odpowiada on rzeczywistemu kodowi testów, który znajduje się w folderze platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java.
Dla wygody użytkowników zamieszczamy tutaj migawkę pliku projektu:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Deklaracja java_test_host
na początku wskazuje, że jest to test hosta JAR. Przykład użycia:
frameworks/base/tools/powermodel/Android.bp
Ustawienia
Poniżej znajdziesz objaśnienia tych ustawień:
Ustawienie
name
jest wymagane, gdy określony jest typ modułujava_test_host
(na początku bloku). To ustawienie nadaje nazwę modułowi, a wygenerowany plik JAR ma tę samą nazwę z dodatkiem sufiksu.jar
. W przykładzie poniżej plik JAR testu ma nazwęHelloWorldHostTest.jar
. To ustawienie definiuje też nazwę docelową make dla modułu, dzięki czemu możesz użyćmake [options] <HelloWorldHostTest>
do skompilowania modułu testowego i wszystkich jego zależności.name: "HelloWorldHostTest",
Ustawienie
test_suites
sprawia, że test jest łatwy do znalezienia przez narzędzie testowe Trade Federation. Można tu dodać inne zestawy testów, np. CTS, aby udostępnić test hosta JAR.test_suites: ["general-tests"],
Ustawienie
static_libs
nakazuje systemowi kompilacji uwzględnienie zawartości wymienionych modułów w wygenerowanym pliku APK bieżącego modułu. Oznacza to, że każdy moduł o nazwie powinien wygenerować plik.jar
. Treść modułu jest używana do rozwiązywania odwołań do ścieżki klasy podczas kompilacji i jest włączana do tworzonego pliku APK.static_libs: [ "junit", ],