A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Testes de host JAR
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os testes de host de arquivo Java (JAR, na sigla em inglês) precisam ser implementados para fornecer cobertura
completa do código do software. Siga as instruções para criar testes de unidade
local.
Crie pequenos testes de unidade para validar uma função específica e nada mais.
Exemplo
O arquivo de modelo 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 snapshot do arquivo de blueprint está incluído aqui para sua 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. Confira um exemplo de uso em:
frameworks/base/tools/powermodel/Android.bp
Configurações
Confira abaixo as explicações das seguintes configurações:
A configuração 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
módulo, e o JAR resultante tem o mesmo nome e um sufixo .jar
. No
exemplo abaixo,o JAR de teste resultante é chamado de HelloWorldHostTest.jar
. Além
disso, essa configuração também define um nome de destino de make para o módulo. Assim, é possível usar make [options] <HelloWorldHostTest>
para criar o módulo
de teste e todas as dependências dele.
name: "HelloWorldHostTest",
A configuração test_suites
facilita a descoberta do teste pelo harness de teste da Trade
Federation. Outros pacotes de testes podem ser adicionados aqui, como o CTS,
para que o teste de host JAR possa ser compartilhado.
test_suites: ["general-tests"],
A configuração static_libs
instrui o sistema de build 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 classpath durante
o tempo de compilação e incorporado ao APK resultante.
static_libs: [
"junit",
],
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# JAR host tests\n\nJava archive (JAR) host tests should be implemented to provide complete code\ncoverage of your software. Follow the instructions to [Build local unit\ntests](https://developer.android.com/training/testing/unit-testing/local-unit-tests).\nWrite small unit tests to validate a specific function and nothing more.\n\nExample\n-------\n\nThe following Blueprint file provides a simple Hello World JAR host test example\nto copy and adapt to your needs:\n[platform_testing/tests/example/jarhosttest/Android.bp](https://android.googlesource.com/platform/platform_testing/+/android16-release/tests/example/jarhosttest/Android.bp)\n\nThis corresponds to the actual test code found at:\n[platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java](https://android.googlesource.com/platform/platform_testing/+/android16-release/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java)\n\nA snapshot of the Blueprint file is included here for convenience: \n\n java_test_host {\n name: \"HelloWorldHostTest\",\n\n test_suites: [\"general-tests\"],\n\n srcs: [\"test/**/*.java\"],\n\n static_libs: [\n \"junit\",\n \"mockito\",\n ],\n }\n\nThe `java_test_host` declaration at the beginning indicates that this is a JAR\nhost test. See an example of its use in:\n[frameworks/base/tools/powermodel/Android.bp](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/tools/powermodel/Android.bp)\n\nSettings\n--------\n\nSee below for explanations of the following settings:\n\n- The `name` setting is required when the `java_test_host` module type is\n specified (at the start of the block). This setting gives a name to your\n module, and the resulting JAR has the same name and a `.jar` suffix. In the\n example below,the resulting test JAR is named `HelloWorldHostTest.jar`. In\n addition, this setting also defines a make target name for your module, so\n that you can use `make [options] \u003cHelloWorldHostTest\u003e` to build your test\n module and all its dependencies.\n\n name: \"HelloWorldHostTest\",\n\n- The `test_suites` setting makes the test easily discoverable by the Trade\n Federation test harness. Other test suites can be added here, such as CTS,\n so that the JAR host test test can be shared.\n\n test_suites: [\"general-tests\"],\n\n- The `static_libs` setting instructs the build system to incorporate the\n contents of the named modules into the resulting APK of the current module.\n This means that each named module is expected to produce a `.jar` file.\n The module's content is used for resolving classpath references during\n compile time and incorporated into the resulting APK.\n\n static_libs: [\n \"junit\",\n ],"]]