Teste a interface do app para verificar se o comportamento do código do Compose está correto. Isso permite detectar erros mais cedo e melhorar a qualidade do app.
O Compose fornece um conjunto de APIs de teste para encontrar elementos, verificar atributos e executar ações do usuário. As APIs também incluem recursos avançados, como a manipulação de tempo. Use essas APIs para criar testes robustos que verifiquem o comportamento do app.
Visualizações
Se você estiver trabalhando com visualizações em vez de 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á significado a partes da interface e é gerada junto 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 baseados no Compose e no View e 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 o app para 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ê constrói as regras usando funções de fábrica,
createComposeRule
ou, se precisar de acesso a uma atividade,
createAndroidComposeRule
. Um teste de interface típico do 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 inicial principal de testes do Android oferece uma visão mais ampla dos conceitos básicos e das técnicas de teste.
- Conceitos básicos de testes:saiba mais sobre os principais conceitos por trás dos testes 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ções, 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
Aprenda a implementar configurações gerenciadas que podem ser alteradas por outros apps no mesmo dispositivo. Os recursos empresariais do Android oferecem às organizações uma experiência segura, flexível e plataforma de mobilidade unificada do Android, combinando dispositivos, aplicativos e gerenciamento de conteúdo. Os apps Android são compatíveis com os Siga algumas práticas recomendadas para garantir que seus apps funcionem sem problemas em um ambiente corporativo.Definir configurações gerenciadas
Guia para desenvolvedores
Perfis de trabalho
Nenhuma recomendação no momento.
Tente fazer login na sua Conta do Google.