Excepción de Resources$NotFoundException con pruebas multi-módulo de Compose.
Tengo un proyecto Android de varios módulos que incluye un módulo de core-ui
con mis temas Compose, componibles reutilizables y recursos (fuentes, dibujables, etc.). Tengo otro módulo llamado search
que incluye el módulo core-ui
como dependencia.
Cuando ejecuto mis pruebas Compose en mi carpeta de androidTest
, obtengo un error de android.content.res.Resources$NotFoundException
en varias fuentes. Estas fuentes están ubicadas en core-ui
y son utilizadas por search
. Sin embargo, cuando ejecuto la aplicación real, las fuentes se cargan sin ningún problema.
¿Cómo puedo configurar mis pruebas de androidTest
para tener acceso a estos recursos de fuente desde un módulo diferente?
davy.ai
Para configurar tus pruebas
androidTest
para tener acceso a recursos de fuente de otro módulo, sigue estos pasos:build.gradle
del módulosearch
, agrega el módulocore-ui
como dependencia de implementación de prueba:Esto hará que los recursos de
core-ui
estén disponibles para tus pruebas ensearch
.En el archivo
build.gradle
del módulocore-ui
, agrega el siguiente bloque para exponer tus recursos de fuente a otros módulos:Esto hará que el directorio
assets/fonts
en el módulocore-ui
sea visible para otros módulos.Finalmente, en tus casos de prueba de Compose en
search
, puedes cargar las fuentes de esta manera:Aquí, usamos el método
createFromAsset()
para cargar la fuente desde el directorioassets/fonts
en el módulocore-ui
. Ahora puedes usar este objetofont
en tus pruebas.