Teste a interface do app para verificar se o comportamento do código do Compose está correto. Isso permite que você detecte erros mais cedo e melhore a qualidade do aplicativo.
O Compose fornece um conjunto de APIs de teste para encontrar elementos, verificar atributos e executar ações do usuário. Elas também incluem recursos avançados, como manipulação de tempo. Use essas APIs para criar testes robustos que verifiquem o comportamento do app.
Visualizações
Se você está trabalhando com visualizações em vez do Compose, consulte a seção geral Testar apps no Android.
Um bom ponto de partida é o guia Automatizar testes de IU. Ele explica como automatizar testes executados no dispositivo, inclusive ao usar visualizações.
Conceitos principais
Confira a seguir alguns conceitos importantes para testar seu código do Compose.
- Semântica: os testes do Compose interagem com a interface usando semântica, que dão significado a partes da interface e são gerados com a hierarquia da interface.
- APIs de teste: o Compose fornece APIs de teste para encontrar elementos, fazer declarações sobre o estado e as propriedades deles e realizar ações para simular interações do usuário.
- Sincronização: por padrão, os testes do Compose são sincronizados automaticamente com a interface, aguardando que ela fique inativa antes de fazer declarações ou realizar ações.
- Interoperabilidade: em apps híbridos, os testes podem interagir perfeitamente com elementos do Compose e com base em visualização, além de se integrar a outros frameworks de teste.
Folha de referência de testes
Consulte a folha de referência de testes para ter uma visão geral de todos os principais tópicos que você precisa aprender sobre testes no Compose.
Configurar
Configure seu app para permitir testar o código do Compose.
Primeiro, adicione as seguintes dependências ao arquivo build.gradle
do módulo
que contém seus testes de IU:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
Esse módulo inclui uma ComposeTestRule
e uma implementação para Android
chamada AndroidComposeTestRule
. Com essa regra, é possível definir o conteúdo do Compose
ou acessar a atividade. Você cria as regras usando funções de fábrica,
createComposeRule
ou, se precisar acessar uma atividade,
createAndroidComposeRule
. Um teste de interface típico para o Compose tem esta aparência:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
Outros recursos
- Testar apps no Android: a página de destino principal de testes do Android oferece uma visão mais ampla dos fundamentos e das técnicas de teste.
- Noções básicas de testes:saiba mais sobre os principais conceitos por trás do teste de um app Android.
- Testes locais: é possível executar alguns testes localmente na sua estação de trabalho.
- Testes instrumentados: é uma boa prática executar testes instrumentados. Ou seja, testes executados diretamente no dispositivo.
- Integração contínua: a integração contínua permite integrar seus testes ao pipeline de implantação.
- Teste diferentes tamanhos de tela:com alguns dispositivos disponíveis para os usuários, teste diferentes tamanhos de tela.
- Espresso: embora seja destinado a interfaces baseadas em visualização, o conhecimento do Espresso ainda pode ser útil para alguns aspectos dos testes do Compose.
Codelab
Para saber mais, consulte o codelab sobre como testar no Jetpack Compose.
Amostras
O Android 16 Beta 1 chegou! Saiba mais sobre as mudanças nas APIs de redimensionamento e orientação no Android 16. Saiba o que há de novo na CameraX 1.4.0. Leia tudo sobre a prévia para desenvolvedores do SDK do Android XR. Saiba as novidades sobre chaves de acesso, a primeira prévia para desenvolvedores do Android 16, as atualizações do Gemini no Android Studio e os resultados da competição da API Gemini. Confira agora o #TheAndroidShow: atualizações do Gemini no Android Studio, lançamentos mais frequentes do SDK do Android e muito mais. No nosso programa trimestral, vamos transmitir ao vivo da Droidcon em Londres, onde vamos apresentar a maior atualização do Gemini no Android Studio desde o lançamento, além de demonstrações do Jetpack Compose e muito mais. Aprenda a começar a usar casos de uso de IA no dispositivo com o Gemini Nano, agora disponível para acesso experimental com o SDK AI Edge pelo AICore. O Android 15 é lançado no AOSP Novidades sobre dispositivos dobráveis e wearables: participe da competição da API Gemini Novidades sobre dispositivos dobráveis e wearables: participe da competição da API Gemini Saiba como os desenvolvedores Android criam apps premium e excelentes usando os recursos mais recentes desse sistema operacional. No nosso último resumo do Google I/O, destacamos as principais atualizações do Google Play. Na terceira recapitulação do Google I/O, vamos abordar o Compose em vários formatos, incluindo smartphones, tablets, WearOS e TV. No Google I/O, revelamos uma visão do Android reimaginado com a IA no centro. Nas próximas quatro semanas, vamos fazer um resumo dos anúncios mais importantes da Google I/O sobre o desenvolvimento para Android, começando por ajudar você a criar apps excelentes. 15 coisas que os desenvolvedores Android precisam saber no Google I/O O Google I/O começa amanhã com palestras de abertura transmitidas ao vivo às 10h (horário de Brasília). Vamos compartilhar as atualizações mais recentes do Android, demonstrações, codelabs e muito mais. O Gemini no Android Studio (antes conhecido como Studio Bot) está pronto para ajudar. Android is back at Google I/O Tune in to #TheAndroidShow Join us on March 7 at 10AM PT for another episode of #TheAndroidShow! The First Developer Preview of Android 15 We released Gemini, our most capable AI model yet. Learn more about how we’re making it easier for you to start building Android apps that leverage generative AI. As we approach the end of 2023, I wanted to take a moment to reflect on all that we've accomplished together as a community, and send a huge *thank you* for all of your work!A primeira versão Beta do Android 16
A Semana de destaque: câmera e mídia
Conheça o Android XR
Semana de destaque: como funcionam as chaves de acesso
#TheAndroidShow: assista ao programa agora!
Assista o #TheAndroidShow
Semana de destaque: IA no Android
Android 15
Agosto de 2024
Julho de 2024
Como cinco desenvolvedores criaram apps excelentes com o Android
I/O Spotlight: Play
Destaque da I/O: usar o Compose em vários formatos
Destaque da I/O: como criar com a IA no Android
Destaque da I/O: como criar apps excelentes
Resumo do I/O 2024
Participe do Android no Google I/O
Abril de 2024
March 2024
Watch the #TheAndroidShow
#TheAndroidShow Teaser
February 2024
A new foundation for AI on Android
December 2023
Nenhuma recomendação no momento.
Tente fazer login na sua Conta do Google.