Use o Espresso para criar 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. Mesmo assim, ela também pode ser personalizada. O Espresso testa com clareza expectativas, interações e declarações de estado, sem que a distração causa por conteúdo clichê, infraestrutura personalizada ou detalhes confusos de implementação atrapalhe.
Os testes do Espresso são executados de maneira idealmente rápida! Ele permite ignorar suas esperas, sincronizações, suspensões e pesquisas enquanto faz manipulações e declarações na IU do aplicativo quando ela está em repouso.
Público-alvo
O Espresso é destinado aos desenvolvedores que acreditam que testes automatizados sejam uma parte fundamental do ciclo de vida do desenvolvimento. Embora o Espresso possa ser usado para testes caixa preta, a capacidade total dele é atingida por aqueles que conhecem o codebase em teste.
Recursos de sincronização
Sempre que o teste invoca onView()
, o Espresso aguarda o cumprimento das seguintes condições de sincronização para realizar a ação ou a declaração de IU correspondente:
- A fila de mensagens está vazia.
- Não há instâncias de
AsyncTask
executando uma tarefa no momento. - Todos os recursos de inatividade definidos pelo desenvolvedor estão inativos.
Realizando essas verificações, o Espresso aumenta significativamente a probabilidade de que apenas uma ação ou declaração de IU ocorra a qualquer momento. Esse recurso oferece resultados de testes mais confiáveis e seguros.
Pacotes
espresso-core
: contém matchers, ações e declarações principais e básicos daView
. Consulte Conceitos básicos 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êm açõesDatePicker
,RecyclerView
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.
Para saber mais sobre as versões mais recentes, leia as notas da versão.
Outros recursos
Para saber mais sobre o uso do Espresso em testes do Android, consulte os recursos a seguir.
Amostras
- Amostras de código do Espresso (link em inglês): inclui uma seleção completa de amostras do Espresso.
- BasicSample (em inglês): amostra básica do Espresso.
- e mais…