Utilização de JUnit e Mockito em Android

android, tutorial,

Utilização de JUnit e Mockito em Android

Camila L. Oliveira Camila L. Oliveira Nov 15, 2021 · 2 mins de leitura
Utilização de JUnit e Mockito em Android
Compartilhe

Testes unitáios servem para testar a implementação de um método e de seus componentes em uma aplicação Android. Eles nãp te garantem que o software funciona em todos os cenáios possíeis, mas te permitem assegurar que funcionam em cenários específicos definidos previamente. Instabilidades de rede e de serviços, respostas diferentes em requisições ao servidor, tudo isso dificulta muito a escrita dos testes. Existem algumas ferramentas que te ajudam a configurar esse ambiente controlado e previsível para que possamos validar os fluxos (SANTOS, 2018).

Existem duas formas para fazer estes testes unitáios: por meio do jUnit (automaticamente implementado quando se cria uma aplicação android e, através do Mockito, aonde podemos também testar as implementações de nossas classes e activities criadas no projeto.


Implementando o JUnit

Em build.gradle(app)

Testando o métodos

O exemplo a seguir mostra o teste do método de soma, tanto em Java como em Kotlin.


Implementando o Mockito

Em build.gradle(app)

Exemplo de Teste

Estamos criando, neste exemplo abaixo, uma aplica?o que vai medir o consumo do combustível (seja gasolina, etanol, gás veicular), a distância percorrida para determinado lugar e a autonomia (ou seja, a quilometragem) do veículo. O exemplo conterá uma MVVM, logo, seu benefício será a lógica de negócio de cada tela fica no ViewModel uma classe que é responsável, por ligar a interface com os dados utilizados na aplicação, com o uso desse modelo fica mais fácil escrever testes unitários no projeto, já que dividimos as responsabilidades entre a interface (View), lógica de negócio (ViewModel) e a representação dos dados utilizados no seu projeto (Model).


Importante: Exemplo a seguir será ilustrado em Kotlin, o exemplo em Java está na Bibliografia do post. Arquivos criados:

  • Classe MainActivityViewModel.kt (criado em ou caminhodoseuprojeto)
  • Layout main_activity_view_model.xml (criado em res/layouts)
  • Classe MainActivityViewModelTest.kt (criado em caminhodoseuprojeto(test))

O que isto significa?

Significa que minha activity já possui uma ViewModel, que está sendo implementada em minha classe da activity. Os valores dos inputs são utilizados por meio do DataBinding, que tem o objetivo de prover uma conexão entre a classe e o layout da activity, logo evitando o findViewById() e facilitando na utilização da função handleCalculateButtonClick diretamente da declaração do botão XML.

Caso precise de uma revisão de MVVM, este artigo irá lhes ajudar.


Bibliografia

Inscreva-se em nossa newsletter

E receba as novidades da Studio em seu e-mail.

* requeridos

Camila L. Oliveira
Escrito por Camila L. Oliveira
Tecnóloga em Análise e Desenvolvimento de Sistemas, Bacharel em Administração Pública, Programadora de Computadores e Dispositivos Móveis e Técnica em Informática para Internet. Com experiências nas empresas TCS e BRQ, atuando no desenvolvimento de soluções aos clientes há mais de 2 anos.
//Insert Firebase