*Este texto foi originalmente publicado no Medium pessoal do autor. Confira aqui.

Vamos começar hoje aqui no Blog uma série sobre 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. Nessa primeira parte, vou ensinar como configurar o projeto.

Sobre o projeto

Durante toda a série de posts, vou utilizar o projeto EspressoTest. É um app simples que consome a API do RandomUser. O app tem 3 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. 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:

Agora dê um sync no Gradle e pronto, o Espresso já está configurado corretamente. Importante: provavelmente o Gradle vai reclamar por causa da dependência “support-annotations”. Para resolver este problema, adicione esta linha nas suas dependências:

Aqui, “$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 post. Se quiser saber mais ou ainda estiver com problemas de dependência, dê uma olhada neste link.

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 tutorial está no branch ‘part_1’.

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. Na semana que vem eu volto com asserções simples e interações com views. Até lá! =)

Sobre o Autor

Heitor Colangelo é Desenvolvedor Android na Concrete Solutions, é graduado em Ciência da Computação pela Unesp de Presidente Prudente. Quando não está trabalhando ou estudando Android, está aprendendo música ou saindo com os amigos.

cases

rio de
janeiro

Rua São José, 90
Sala 2121 - Centro
(21) 2240-2030
CEP: 20010-020

são
paulo

Av. Nações Unidas
nº 11.541 - 3º andar
(11) 4119-0449
CEP: 04578-000