Criar testes de unidades eficazes

Testes de unidade são fundamentais para a estratégia de testes do seu app. Ao criar e executar testes de unidade no seu código, você consegue verificar facilmente se a lógica de unidades individuais está correta. A execução de testes de unidade depois de cada compilação ajuda a identificar e corrigir rapidamente as regressões de software introduzidas por mudanças no código do app.

Um teste de unidade geralmente exercita a funcionalidade da menor unidade de código possível (que pode ser um método, uma classe ou um componente) de uma maneira que possa ser repetida. Crie testes de unidade quando precisar verificar a lógica de um código específico no app. Por exemplo, se você está realizando um teste de unidade em uma classe, o teste pode verificar se a classe está no estado correto. Normalmente, a unidade de código é testada em isolamento. Seu teste só afeta e monitora as alterações nessa unidade. Use provedores de dependências, como o Robolectric, ou um framework de simulação para isolar sua unidade das respectivas dependências.

Observação: os testes de unidade não são adequados para eventos complexos de interação da IU. Nesse caso, use os frameworks de testes de IU, conforme descrito em Automatizar testes de IU.

Em geral, para testar apps para Android, crie estes tipos de teste de unidade automatizado:

  • Testes locais: testes de unidade executados apenas na máquina local. Esses testes são compilados para execução local na Java Virtual Machine (JVM) para minimizar o tempo de execução. Se seus testes dependem de objetos no framework do Android, recomendamos o uso do Robolectric. Para testes que requerem suas dependências, use objetos simulados para emular o comportamento delas.
  • Testes de instrumentação: testes de unidade executados em um dispositivo ou emulador Android. Esses testes têm acesso a informações da instrumentação, como o Context do app em teste. Use essa abordagem para executar testes de unidade que têm dependências complexas do Android que exigem um ambiente mais robusto, por exemplo, o Robolectric.

As lições desta aula ensinam a criar esses tipos de testes de unidade automatizados.

Lições

Criar testes de unidade locais
Saiba como criar testes de unidade que são executados na máquina local.
Criar testes de unidade de instrumentação
Saiba como criar testes de unidade que são executados em um dispositivo ou emulador Android.

Outros recursos

Para saber mais sobre o uso do Espresso em testes do Android, consulte os recursos a seguir.

Exemplos

Codelabs