Tests de l'hôte JAR

Implémentez des tests d'hôte d'archive Java (JAR) pour fournir le code complet la couverture de votre logiciel. Suivez les instructions pour créer un bloc local tests. Écrivez de petits tests unitaires pour valider une fonction spécifique, et rien de plus.

Exemple

Le fichier de plan suivant fournit un exemple simple de test d'hôte JAR Hello World à copier et à adapter à vos besoins: platform_testing/tests/example/jarhosttest/Android.bp

Cela correspond au code de test réel disponible à l'adresse: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

Un instantané du plan est inclus ici pour plus de commodité:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

La déclaration java_test_host au début indique qu'il s'agit d'un test d'hôte JAR. Voici un exemple d'utilisation de cette balise: frameworks/base/tools/powermodel/Android.bp

Paramètres

Vous trouverez ci-dessous des explications sur les paramètres suivants :

  • Le paramètre name est obligatoire lorsque le type de module java_test_host est spécifié (au début du bloc). Ce paramètre donne un nom à votre module. Le fichier JAR généré porte le même nom et un suffixe .jar. Dans Dans l'exemple ci-dessous,le fichier JAR de test obtenu est nommé HelloWorldHostTest.jar. Dans Ce paramètre définit également un nom de cible pour votre module. que vous pouvez utiliser make [options] <HelloWorldHostTest> pour créer votre test et toutes ses dépendances.

    name: "HelloWorldHostTest",
    
  • Le paramètre test_suites permet au harnais de test de la fédération du commerce de trouver facilement le test. D'autres suites de tests peuvent être ajoutées ici, comme CTS, afin que le test de l'hôte JAR puisse être partagé.

    test_suites: ["general-tests"],
    
  • Le paramètre static_libs indique au système de compilation d'intégrer le le contenu des modules nommés dans l'APK obtenu pour le module actuel. Cela signifie que chaque module nommé doit générer un fichier .jar. Le contenu du module est utilisé pour résoudre les références de chemin d'accès au moment de la compilation et est intégré à l'APK généré.

    static_libs: [
        "junit",
    ],