Teste é para os fracos   Como fazer teste em aplicações?
Thiago Avelino - @avelino0 - avelino.us - thiagoavelinoster@gmail.com
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso      Por que testar?
Realmente escrever teste não é legal
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Como escrever teste naturalmente?
Teste também é código
Teste também é código              Código deve ser fácil de ler
Teste também é código              Código deve ser fácil de ler              Código deve ser fácil de entender
Teste também é código              Código deve ser fácil de ler              Código deve ser fácil de entender            ...
Explícito é melhor  que implícito eevita ambiguidades
Testando aplicação Django• Views• Forms• Models
Views•   Status code•   Template utilizado•   Contexto de resposta•   Envio de email•   Disparo de sinais•   Conexão com API
Views - TestClient                from django.test.client import Client•   get•   post•   put•   delete•   ...•   login()•...
Simples teste em uma View
Forms•   Validação do formulário    •   Geral    •   Por campo•   Comportamento de campo    •   Exemplo choice
Simples teste em um Form
Models•   Validação do modelo•   Métodos adicionados ao modelo•   Estados de queryset
Simples teste em um Model
Asserts•   assertEqual / assertNotEqual•   assertTrue / assertFalse•   assertIn•   assertFormError•   assertTemplateUsed /...
TestCase Utilitários•   setup_test_environment()•   teardown_test_environment()•   create_test_db([verbosity=1, autoclobbe...
doctest•   Testes via docstring•   Testes de regressão
doctest
doctest$ python example.py -vTrying:    factorial(5)Expecting:    120okTrying:    [factorial(n) for n in range(6)]Expectin...
Podemos testar também•   Signals•   Template filters•   Template tags•   Settings•   Management commands•   ModelAdmin•   F...
Obrigado!
Perguntas?
Test é para os fracos
Test é para os fracos
Próximos SlideShares
Carregando em…5
×

Test é para os fracos

2.215 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Test é para os fracos

  1. 1. Teste é para os fracos Como fazer teste em aplicações?
  2. 2. Thiago Avelino - @avelino0 - avelino.us - thiagoavelinoster@gmail.com
  3. 3. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso
  4. 4. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  5. 5. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  6. 6. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  7. 7. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  8. 8. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  9. 9. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  10. 10. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  11. 11. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  12. 12. Teste é para os fracosRealmente eu sou fraco e sou capaz de fazer isso Por que testar?
  13. 13. Realmente escrever teste não é legal
  14. 14. Como escrever teste naturalmente?
  15. 15. Como escrever teste naturalmente?
  16. 16. Como escrever teste naturalmente?
  17. 17. Como escrever teste naturalmente?
  18. 18. Teste também é código
  19. 19. Teste também é código Código deve ser fácil de ler
  20. 20. Teste também é código Código deve ser fácil de ler Código deve ser fácil de entender
  21. 21. Teste também é código Código deve ser fácil de ler Código deve ser fácil de entender Código deve ser fácil de manter
  22. 22. Explícito é melhor que implícito eevita ambiguidades
  23. 23. Testando aplicação Django• Views• Forms• Models
  24. 24. Views• Status code• Template utilizado• Contexto de resposta• Envio de email• Disparo de sinais• Conexão com API
  25. 25. Views - TestClient from django.test.client import Client• get• post• put• delete• ...• login()• logout()
  26. 26. Simples teste em uma View
  27. 27. Forms• Validação do formulário • Geral • Por campo• Comportamento de campo • Exemplo choice
  28. 28. Simples teste em um Form
  29. 29. Models• Validação do modelo• Métodos adicionados ao modelo• Estados de queryset
  30. 30. Simples teste em um Model
  31. 31. Asserts• assertEqual / assertNotEqual• assertTrue / assertFalse• assertIn• assertFormError• assertTemplateUsed / assertTemplateNotUsed• assertRedirects• assertQuerysetEqual• assertNumQueries
  32. 32. TestCase Utilitários• setup_test_environment()• teardown_test_environment()• create_test_db([verbosity=1, autoclobber=False])• destroy_test_db(old_database_name[, verbosity=1])
  33. 33. doctest• Testes via docstring• Testes de regressão
  34. 34. doctest
  35. 35. doctest$ python example.py -vTrying: factorial(5)Expecting: 120okTrying: [factorial(n) for n in range(6)]Expecting: [1, 1, 2, 6, 24, 120]okTrying: [factorial(long(n)) for n in range(6)]Expecting: [1, 1, 2, 6, 24, 120]ok
  36. 36. Podemos testar também• Signals• Template filters• Template tags• Settings• Management commands• ModelAdmin• Form widgets• ...
  37. 37. Obrigado!
  38. 38. Perguntas?

×