Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como Isolar o Código de Teste no Android

Como Isolar o Código de Teste no Android

Apresentação feita no Android Meetup de Belo Horizonte com foco nos testes instrumentados e isolamento das chamadas à API com a lib RequestMatcher, além do isolamento do código de teste da camada de orquestração (Presenter) na arquitetura MVP com o Mockito.

Avatar for Douglas Ramalho Motta

Douglas Ramalho Motta

March 03, 2018

Other Decks in Technology

Transcript

  1. POR QUE TEMOS QUE TESTAR Feedback rápido sobre falhas Confiança

    para evoluir o código Ajuda a minimizar o débito técnico
  2. POR QUE TEMOS QUE TESTAR Feedback rápido sobre falhas Confiança

    para evoluir o código Ajuda a minimizar o débito técnico
  3. POR QUE TEMOS QUE TESTAR Feedback rápido sobre falhas Confiança

    para evoluir o código Ajuda a minimizar o débito técnico
  4. DESAFIOS • O ambiente em que nós codificamos é diferente

    do SO que nossa aplicação vai rodar
  5. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Activity, Views, Fragments, Custom Components COMO TESTAR? Testar as unidades de interação COMO ISOLAR RequestMatcher, Espresso Intents
  6. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Activity, Views, Fragments, Custom Components COMO TESTAR? Testar as unidades de interação COMO ISOLAR RequestMatcher, Espresso Intents
  7. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Activity, Views, Fragments, Custom Components COMO TESTAR? Testar as unidades de interação COMO ISOLAR RequestMatcher, Espresso Intents
  8. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Activity, Views, Fragments, Custom Components COMO TESTAR? Testar as unidades de interação COMO ISOLAR RequestMatcher, Espresso Intents
  9. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  10. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  11. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  12. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  13. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  14. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  15. O QUE TESTAR? Camada de UI Camada de Orquestração O

    QUE? Presenter COMO ISOLAR? Mockito • Mock das dependências • Stub (when, thenReturn) • Verificação de comportamento (verify) • Controle sobre os callbacks (Captor)
  16. RequestMatcher • Simples e poderosa forma de fazer asserções na

    sua API mockada • Isola chamadas à API • Simplifica o setup com relação ao MockWebServer • Simula um servidor real • Desenvolvida pela Concrete
  17. REFERÊNCIAS 1. Local or Instrumented tests by Victor Nascimento 2.

    The Difference Between Mocks and Stubs by Martin Fowler 3. Mockito 4. Android Test Support Library 5. Espresso Intents 6. RequestMatcher 7. MockWebServer
  18. Centro Av. Presidente Wilson, 231 - 29º andar (21) 2240-2030

    Cidade Monções Av. Nações Unidas, 11.541 - 3º andar (11) 4119-0449 Savassi Av. Getúlio Vargas, 671 Sala 800 - 8º andar (31) 3360-8900 www.concrete.com.br