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

Melhorando a Legibilidade de seus testes escritos com RSpec

Melhorando a Legibilidade de seus testes escritos com RSpec

Algumas dicas de como tornar código de teste mais legível, aplicando melhor conceitos e propriedades do próprio RSpec.

Luiz Cezer

April 25, 2017
Tweet

More Decks by Luiz Cezer

Other Decks in Programming

Transcript

  1. Benefícios de Testes bem escritos # Minimizar riscos de bugs

    ou falso positivos # Garantir que o código de produção funciona corretamente
  2. Four Phase Test - Conceito # Quebrar “fisicamente” o agrupamento

    dos testes # Pode ser utilizada com qualquer ferramenta de testes # Facilitar a leitura código de teste
  3. Context vs Describe # Estruturas para agrupamento de testes #

    Não há diferença funcional # Context é um alias method para describe
  4. Context # Descrever estados do objeto # Explicar o motivo

    para a execução do método # Pode ser utilizado de forma aninhada
  5. Let # Define uma variável # Utilizado para criar as

    dependências # Pode ser utilizado como lazy ou eager loading
  6. Subject # Objeto que de fato será testado # Baseado

    no objeto descrito no teste # Pode ser explicitamente nomeado
  7. Melhorando a rastreabilidade # Testes podem ser utilizados como documentação

    # Devem ser independentes # Atômicos de forma que cada especificação permita um fácil debug # Utilizar apenas uma asserção por teste
  8. Considerações Finais # Código de teste deve ser tão bem

    cuidado quanto código de produção # Código bem escrito começa pelos testes # Testes pequenos e independentes facilitam rastreamento de erros # Não valide apenas o caminho feliz, verifique as exceções
  9. Referências # Ruby e RSpec: melhorando a legibilidade de seus

    testes # Otimizando testes Factory Girl e RSpec