A apresentação introduz os Architecture Components do Android, discutindo suas regras de ouro e arquitetura sugerida (MVVM). É demonstrado como testar cada camada da arquitetura (View, ViewModel, Repository e Model) usando ferramentas como JUnit, Mockito e Espresso. Exemplos de código ilustram testes unitários e instrumentados para cada camada.
1. A N D R O I D
TESTANDO COM ARCHITECTURE
COMPONENTS
TDC São Paulo 2018
2. ALINHANDO EXPECTATIVAS DA APRESENTAÇÃO
O que não é:
A. TDD
B. Como testar em
Android
C. Tutorial de como
usar os
Architecture
Components
2
O que é:
A. Introdutória
B. Testes específicos
com Architecture
Components
C. Apresentação com
exemplos de
código
3. BREVE INTRO SOBRE ARCHITECTURE COMPONENTS
Acho que não precisamos falar dos
benefícios de uma boa arquitetura ou
quanto tempo ficamos esperando por isso
3
MVC
MVVM
MVP
VIPER
MVI
2015-2016
Basta separar em
camadas que ta tudo bem
É porque
Android é
ruim de
testar mesmo
5. REGRA DE OURO DOS ARCHITECTURE COMPONENTS
5
Como o ciclo de vida da aplicação é
algo que não está sob seu controle,
você não deveria guardar dados ou
estado nos componentes do framework
Android.
6. REGRA DE OURO DOS ARCHITECTURE COMPONENTS
6
Single source of truth
19. MINHA ESTRATÉGIA PARA FAZER TESTES
A. Teste tudo que está exposto para outras classes
B. Teste tudo que é parametrizável
C. Teste todos os fluxos e caminhos
19
59. 59
Camada Tipo de teste Ferramentas Observação
View Instrumentado de UI
Espresso,
Robolectric*
Mocks podem ser
utilizados ou não
dependendo do nível de
integração
ViewModel Unitário JUnit, Mockito
Mock do
Repositório
Repository Unitário JUnit, Mockito
Mock do DAO e
do Remote
Model Instrumentado AndroidJUnit4 -
Remote -
MockWebServer,
NanoHTTPD
-
60. Codebase com 9 classes no código de
produção e 5 classes de teste
https://github.com/phellipealexandre/
ArchitectureComponentsTesting
60