Google jest zaangażowany w promowanie równości rasowej dla społeczności czarnych. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Testy hosta JAR (Java)

Należy wdrożyć testy hosta JAR, aby zapewnić pełne pokrycie kodu oprogramowania. Postępuj zgodnie z instrukcjami, aby zbudować lokalne testy jednostkowe . Napisz małe testy jednostkowe, aby sprawdzić poprawność określonej funkcji i nic więcej.

Przykład

Poniższy plik Blueprint zawiera prosty przykład testu hosta Hello World JAR, który można skopiować i dostosować do swoich potrzeb: platform_testing / tests / example / jarhosttest / Android.bp

Odpowiada to faktycznemu kodowi testu znajdującemu się pod adresem: platform_testing / tests / example / jarhosttest / test / android / test / example / helloworld / HelloWorldTest.java

Dla wygody dołączono migawkę pliku Blueprint:

 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.

Ustawienia

Poniżej znajdują się objaśnienia dotyczące następujących ustawień:

  • Ustawienie name jest wymagane, gdy java_test_host typ modułu java_test_host (na początku bloku). To ustawienie nadaje nazwę modułowi, a wynikowy plik JAR ma tę samą nazwę i przyrostek .jar . W poniższym przykładzie wynikowy testowy plik JAR nosi nazwę HelloWorldHostTest.jar . Ponadto to ustawienie definiuje również nazwę docelową make dla twojego modułu, dzięki czemu możesz użyć make [options] <HelloWorldHostTest> do zbudowania modułu testowego i wszystkich jego zależności.

     name: "HelloWorldHostTest",
     
  • Ustawienie test_suites sprawia, że ​​test jest łatwo wykrywalny przez uprząż testową Trade Federation. Można tutaj dodać inne zestawy testów, takie jak CTS, aby można było udostępniać test hosta JAR.

     test_suites: ["general-tests"],
     
  • Ustawienie static_libs instruuje system kompilacji, aby uwzględnić zawartość nazwanych modułów w wynikowym pliku APK bieżącego modułu. Oznacza to, że każdy nazwany moduł powinien utworzyć plik .jar . Zawartość modułu jest używana do rozwiązywania odwołań do ścieżek klas w czasie kompilacji i włączana do wynikowego pliku APK.

     static_libs: [
        "junit",
    ],