Android

6 out, 2016

Testes no Android com Espresso – Parte 01

Publicidade

Nesta série, vou mostrar como realizar testes eficientes no seu app Android utilizando o Espresso. Além disso, conforme formos evoluindo, vou dando dicas das principais dificuldades que você provavelmente irá encontrar pelo caminho, e como resolvê-las.

Sobre o projeto

Durante toda a série, vou usar o projeto EspressoTest. É um app simples que consome a API do RandomUser. O app tem três telas:

  1. Tela de login, com dois EditText, username e password. A única validação que está sendo feita é de campo vazio, ou seja, não estando vazios os dois campos, você pode colocar qualquer usuário e senha que ele vai fazer o login.
  2. Fazendo o login, a segunda tela é a lista dos usuários retornada pela API.
  3. Clicando em um dos itens da lista, você será direcionado para a tela de detalhes do item clicado.

As bibliotecas que estou utilizando para o app são:

É importante que você entenda bem o projeto antes de começar os testes. Por esse motivo, deixei o app bem simples para que este entendimento não tome muito tempo. Para iniciar, clone o branch “start_project” do projeto no Github.

Sem mais enrolação, vamos à prática!

Configurando o Espresso no projeto

No arquivo build.gradle do projeto, adicione as seguintes dependências:

final espressoVersion = '2.2.2'
dependencies {
 // Espresso
 androidTestCompile "com.android.support.test.espresso:espresso-core:$espressoVersion"
 androidTestCompile "com.android.support.test:runner:0.5"
}

Agora dê um sync no gradle e pronto, o Espresso já está configurado corretamente.

Importante: o gradle provavelmente irá reclamar por causa da dependência “support-annotations”; para resolver este problema, adicione esta linha nas suas dependências.

androidTestCompile 'com.android.support:support-annotations:$androidSupportVersion'

onde “$androidSupportVersion” é a versão que você está utilizando para support library.

Não vou me aprofundar muito nas causas deste problema, não é o foco do artigo. Se quiser saber mais ou ainda estiver com problemas de dependência, dê uma olhada neste link.

Ok, agora que já configuramos o projeto, vamos começar a fazer nossos testes. Até aqui, se você tiver alguma dúvida ou teve algum problema, deixe seu comentário abaixo.

Por enquanto, a única coisa que mudou no projeto que você clonou (branch ‘start_project’) foi o arquivo build.gradle. De qualquer modo, o estado final do app nesta parte do artigo está no branch ‘part_1’.