Skip to content

Instantly share code, notes, and snippets.

@roberto-filho
Last active June 28, 2019 14:30
Show Gist options
  • Save roberto-filho/8dddcc3be043e70dba8c89b4123a1708 to your computer and use it in GitHub Desktop.
Save roberto-filho/8dddcc3be043e70dba8c89b4123a1708 to your computer and use it in GitHub Desktop.
Unit Testing Workshop

UNIT TESTING

O QUE SÃO TESTES UNITÁRIOS? (15 min)

  1. Testes de unidade
  2. Testes de integração
  3. FIRST - (Fast, Independent, Repeatable, Self-verifying, Timely) link

POR QUÊ SÃO IMPORTANTES? (10 min)

  1. Desenho testável - pensar sobre design
  2. Retorno antecipado (early feedback)
  3. São como documentação
  4. Segurança ao realizar alterações
  5. Verificar artigo para mais itens

TDD - TEST DRIVEN DEVELOPMENT (10 min)

  1. O ciclo TDD
  2. Benefícios
    • Abordagem Specification first
    • Feedback instantâneo
    • Maior cobertura de testes
  3. Seria interessante demonstrar como funciona
  4. Falar sobre TDD depois de "como testar" ou antes? Acho que depois, pois não é necessário saber TDD para testar, é somente o próximo passo.

COMO TESTAR NOSSA STACK (15 min)

  1. Mockito
  2. Hamcrest (ou AssertJ, fluent tests)
  3. APEX naming convention link
  4. O que não testar (ex bibliotecas de terceiros -> commons)

LET'S DO IT (30 - 60 min)

Demonstrar ao vivo como se testa a nossa stack. Utilizar um exemplo o mais próximo da vida real quanto possível.

EXTRAS (30 min)

  1. Recursos avançados do JUnit
    • Assume
    • Teste parameterizado
    • ExpectedException via Rules e etc
  2. Recursos avançados do Mockito
    • ArgumentCaptor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment