A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
GoogleTest
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Por lo general, un GoogleTest (GTest, que a veces también se denomina "pruebas nativas") para la plataforma accede a HAL de nivel inferior o realiza IPC sin procesar en varios servicios del sistema. Debido a esto, el enfoque de prueba suele estar estrechamente relacionado con el servicio que se prueba.
Para integrar con la infraestructura de pruebas continuas, compila tus GTests con el framework GTest.
Ejemplos
Estos son algunos ejemplos de GTest en la fuente de la plataforma:
Resumen de los pasos
Sigue la configuración de ejemplo del módulo de GTest.
Para incluir automáticamente las dependencias de GTest, usa la regla de compilación BUILD_NATIVE_TEST
en la configuración de tu módulo de prueba.
Escribe una configuración de prueba siguiendo los ejemplos de las opciones simple y compleja.
Compila el módulo de prueba con mmm
para compilaciones incrementales o mma
para compilaciones completas:
make hwui_unit_tests -j
Ejecuta la prueba de forma local con Atest:
atest hwui_unit_tests
También puedes agregar argumentos a tus GTests. Los siguientes son argumentos especialmente útiles:
native-test-flag
especifica valores de marca adicionales para pasar al comando de shell de GTest.
native-test-timeout
especifica un valor de tiempo de espera de prueba en microsegundos.
En el siguiente código de ejemplo, se usan ambos argumentos:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
--module-arg test-name:native-test-timeout:60000
Ejecuta la prueba con el kit de prueba de Trade Federation:
make tradefed-all -j
tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Instala y ejecuta de forma manual:
Envía el objeto binario de prueba generado a tu dispositivo:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
/data/nativetest/hwui_unit_tests/hwui_unit_tests
Inicia GTest y ejecuta la prueba invocando el objeto binario de prueba en el dispositivo:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Para obtener más información sobre cómo personalizar la ejecución de pruebas, agrega el parámetro --help
a tu binario de prueba. Para obtener más información sobre los parámetros, consulta la guía avanzada de GTest.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# GoogleTest\n\nA GoogleTest (GTest, also sometimes called \"native tests\") for the platform\ntypically accesses lower-level HALs or performs raw IPC against various system\nservices. Because of this, the testing approach is usually tightly coupled with\nthe service under test.\n\nTo integrate with continuous testing infrastructure, build your GTests\nusing the [GTest](https://github.com/google/googletest)\nframework.\n\nExamples\n--------\n\nHere are some examples of GTest in the platform source:\n\n- [frameworks/av/camera/tests](https://android.googlesource.com/platform/frameworks/av/+/android16-release/camera/tests/)\n- [frameworks/native/libs/gui/tests](https://android.googlesource.com/platform/frameworks/native/+/android16-release/libs/gui/tests/)\n\nSummary of steps\n----------------\n\n1. Follow the [example GTest module setup](https://android.googlesource.com/platform/frameworks/base/+/android16-release/libs/hwui/tests/unit/).\n\n2. To automatically include GTest dependencies, use the `BUILD_NATIVE_TEST`\n build rule in your test module configuration.\n\n3. Write a test configuration, following the examples for [simple](/docs/core/tests/development/blueprints)\n and [complex](/docs/core/tests/development/test-config) options.\n\n4. Build the test module with `mmm` for incremental builds, or `mma` for full\n builds:\n\n make hwui_unit_tests -j\n\n5. Run the test locally using [Atest](/docs/core/tests/development/atest):\n\n atest hwui_unit_tests\n\n You can also add arguments to your GTests. The following are especially useful arguments:\n - `native-test-flag` specifies additional flag values to pass to the GTest shell command.\n - `native-test-timeout` specifies a test timeout value in microseconds.\n\n The following example code uses both of these arguments: \n\n atest test-name -- --module-arg test-name:native-test-flag:\"\\\"argument1 argument2\\\"\" \\\n --module-arg test-name:native-test-timeout:60000\n\n6. Run the test with the Trade Federation test harness:\n\n make tradefed-all -j\n tradefed.sh run template/local_min --template:map test=hwui_unit_tests\n\n7. Manually install and run:\n\n 1. Push the generated test binary onto your device:\n\n adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \\\n /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n 2. Launch GTest and execute the test by invoking the test binary on the device:\n\n adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n For more information about customizing test execution, add the `--help`\n parameter to your test binary. For more information on parameters, refer to\n the [GTest advanced guide](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md)."]]