Use o Espresso para programar testes concisos, bonitos e confiáveis para a IU do Android.
O snippet de código a seguir mostra um exemplo de teste do Espresso:
Kotlin
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
Java
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
A API principal é pequena, previsível e fácil de aprender, mas ainda assim permanece aberta para e personalização. O Espresso testa expectativas, interações e declarações de estado com clareza, sem a distração de conteúdo clichê, infraestrutura personalizada ou detalhes confusos de implementação atrapalham.
Os testes do Espresso são executados de maneira idealmente rápida! Ele permite que você deixe suas esperas, sincronizações, suspensões, e pesquisa enquanto manipula e declara no aplicativo na interface do usuário quando ele está em repouso.
Público-alvo
O Espresso é voltado para desenvolvedores que acreditam que os testes automatizados são uma parte essencial do ciclo de vida de desenvolvimento. Embora ele possa ser usado para caixas pretas, testes, a capacidade total do Espresso é desbloqueada por aqueles que estão familiarizados com o base de código em teste.
Recursos de sincronização
Cada vez que o teste invoca
onView()
,
O Espresso espera para executar a ação ou declaração de interface correspondente até que o
seguintes condições de sincronização sejam atendidas:
- A fila de mensagens não tem mensagens que o Espresso precise executar imediatamente de desenvolvimento de software.
- Não há instâncias de
AsyncTask
em execução no momento uma tarefa. - Todas as configurações definidas pelo desenvolvedor recursos de inatividade estão inativos.
Com a execução dessas verificações, o Espresso aumenta substancialmente a probabilidade de apenas uma ação ou declaração de interface pode ocorrer a qualquer momento. Essa capacidade fornece resultados de teste mais confiáveis.
Pacotes
espresso-core
: contém matchers, ações e elementos básicos doView
declarações. Consulte Noções básicas e Receitas.espresso-web
: contém recursos para oferecer compatibilidade comWebView
.espresso-idling-resource
– Mecanismo do Espresso para sincronização com tarefas em segundo plano.espresso-contrib
: contribuições externas que contêmDatePicker
, AçõesRecyclerView
eDrawer
, verificações de acessibilidade eCountingIdlingResource
.espresso-intents
– Extensão para validar e criar stubs de intents para testes herméticos.espresso-remote
: localização da funcionalidade de vários processos do Espresso.
Saiba mais sobre as versões mais recentes lendo a notas da versão.
Outros recursos
Para mais informações sobre o uso do Espresso em testes do Android, consulte o recursos a seguir.
Amostras
- Exemplos de código do Espresso inclui uma seleção completa de amostras do Espresso.
- BasicSample (em inglês): Exemplo básico do Espresso.
- Outros recursos para testes