Os testes de host JAR devem ser implementados para fornecer cobertura completa do código do seu software. Siga as instruções para criar testes de unidade local . Escreva pequenos testes de unidade para validar uma função específica e nada mais.
Exemplo
O arquivo Blueprint a seguir fornece um exemplo simples de teste de host JAR Hello World para copiar e adaptar às suas necessidades: platform_testing/tests/example/jarhosttest/Android.bp
Isso corresponde ao código de teste real encontrado em: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Um instantâneo do arquivo Blueprint está incluído aqui por conveniência:
java_test_host {
    name: "HelloWorldHostTest",
    test_suites: ["general-tests"],
    srcs: ["test/**/*.java"],
    static_libs: [
        "junit",
        "mockito",
    ],
}
 A declaração java_test_host no início indica que este é um teste de host JAR. Veja um exemplo de seu uso em: frameworks/base/tools/powermodel/Android.bp
Configurações
Veja abaixo as explicações das seguintes configurações:
- A configuração de - nameé necessária quando o tipo de módulo- java_test_hosté especificado (no início do bloco). Essa configuração dá um nome ao seu módulo e o JAR resultante tem o mesmo nome e um sufixo- .jar. No exemplo abaixo, o JAR de teste resultante é denominado- HelloWorldHostTest.jar. Além disso, essa configuração também define um nome de destino make para seu módulo, para que você possa usar- make [options] <HelloWorldHostTest>para construir seu módulo de teste e todas as suas dependências.- name: "HelloWorldHostTest",
- A configuração - test_suitestorna o teste facilmente detectável pelo conjunto de testes da Federação de Comércio. Outros conjuntos de testes podem ser adicionados aqui, como CTS, para que o teste de teste do host JAR possa ser compartilhado.- test_suites: ["general-tests"],
- A configuração - static_libsinstrui o sistema de compilação a incorporar o conteúdo dos módulos nomeados no APK resultante do módulo atual. Isso significa que cada módulo nomeado deve produzir um arquivo- .jar. O conteúdo do módulo é usado para resolver referências de caminho de classe durante o tempo de compilação e incorporado ao APK resultante.- static_libs: [ "junit", ],
