Testes com      Django e Object FactoryII Pylestras     Palestrante            Italo Maia         http://www.italomaia.com...
Testes!
Software com Testes é+ Caro+ Trabalhoso+ Barato+ Confiável+ Fácil evoluir+ Trabalho em equipe                       TDD   ...
“Mas eu não gosto de escrever testes!”por Desenvolvedor Genérico
Não Tolere Isso!Código  sem  testes é  ruim  para  todo mundo!
Há motivos para não  gostar de testes...      + Uma ferramenta para aprender      + Código para escrever      + Precisa co...
E o Python? [1]DocTestTestes  embutidos  no próprio código.Prático  para      testar funções simples.
E o Python? [2]UnitTestTestes  escritos    em módulos próprios.Código  organizado  e extensível.
UnitTest
Django, Testes e Você             UnitTest Extendido         Integração com Aplicativos          Integração com o Models  ...
Como Faz?                        Testes ficam no tests.py  projeto  → app                 O Django te permite rodar   → → ...
Massa! E Qual o            Problema?Os dados do banco são limpos       Fixturea cada teste.Se  quiser  popular  o  banco  ...
Fixtures
Fixtures
Object Factory“Fixtures On The Fly!”O modelo muda, os testes não!Fácil, extensível!              Factory GirlNão depende d...
Model MommyObject Factory for Django (1.1 e 1.2)Criado por Vanderson MottaVários contribuidoresEvoluindo rápidamenteSuport...
Já Suporta *SlugField CharField TextField URLField  EmailField FileField ImageField   ForeignKey ManyToManyField          ...
Como Usar?
Por Baixo dos PanosModelMommy  funciona  com  introspecção  dos campos  do  Modelo.  Para  cada  campo,  há  um “gerador d...
Exemplo Completo!
GeneratorsFunções simples que devolvem um valor para popular um campo do modelo. required busca valores do campo e devolve...
Sobrescrevendo Geradores
Dúvidas?https://github.com/vandersonmota/model_mommyhttps://github.com/italomaia/model_mommy/http://docs.djangoproject.com...
Django Object factory
Upcoming SlideShare
Loading in...5
×

Django Object factory

847

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
847
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Django Object factory

  1. 1. Testes com Django e Object FactoryII Pylestras Palestrante Italo Maia http://www.italomaia.com/ http://www.python.org.br http://pug-ce.python.org.br
  2. 2. Testes!
  3. 3. Software com Testes é+ Caro+ Trabalhoso+ Barato+ Confiável+ Fácil evoluir+ Trabalho em equipe TDD TDD
  4. 4. “Mas eu não gosto de escrever testes!”por Desenvolvedor Genérico
  5. 5. Não Tolere Isso!Código  sem  testes é  ruim  para  todo mundo!
  6. 6. Há motivos para não  gostar de testes... + Uma ferramenta para aprender + Código para escrever + Precisa configurar o ambiente + Demora
  7. 7. E o Python? [1]DocTestTestes  embutidos  no próprio código.Prático  para  testar funções simples.
  8. 8. E o Python? [2]UnitTestTestes  escritos  em módulos próprios.Código  organizado  e extensível.
  9. 9. UnitTest
  10. 10. Django, Testes e Você UnitTest Extendido Integração com Aplicativos Integração com o Models Banco de Testes Isolado Testes Por Aplicativo
  11. 11. Como Faz? Testes ficam no tests.py projeto → app O Django te permite rodar  → → __init__.py testes  por  projeto,  → → models.py aplicativo,  TestCase  ou  → → tests.py Método.  → → views.pyO comando abaixo executa os testes para vocêpython manage.py test [aplicativo[.TestCase[.metodo]]]
  12. 12. Massa! E Qual o  Problema?Os dados do banco são limpos  Fixturea cada teste.Se  quiser  popular  o  banco  JSONautomaticamente você precisa  YAMLutilizar  fixtures  ou  popular manualmente.
  13. 13. Fixtures
  14. 14. Fixtures
  15. 15. Object Factory“Fixtures On The Fly!”O modelo muda, os testes não!Fácil, extensível! Factory GirlNão depende de arquivos externos!
  16. 16. Model MommyObject Factory for Django (1.1 e 1.2)Criado por Vanderson MottaVários contribuidoresEvoluindo rápidamenteSuporte a relações! *
  17. 17. Já Suporta *SlugField CharField TextField URLField EmailField FileField ImageField ForeignKey ManyToManyField OneToOneField DateField DateTimeField BooleanField All Numeric Fields
  18. 18. Como Usar?
  19. 19. Por Baixo dos PanosModelMommy  funciona  com  introspecção  dos campos  do  Modelo.  Para  cada  campo,  há  um “gerador de dados” mapeado.model_mommy/generators.py make_one e make_many são generators!
  20. 20. Exemplo Completo!
  21. 21. GeneratorsFunções simples que devolvem um valor para popular um campo do modelo. required busca valores do campo e devolve para o generator.
  22. 22. Sobrescrevendo Geradores
  23. 23. Dúvidas?https://github.com/vandersonmota/model_mommyhttps://github.com/italomaia/model_mommy/http://docs.djangoproject.com/en/1.2/topics/testing/http://www.deviantart.com/http://tr1ckxi3.deviantart.com/http://ech­ztx.deviantart.com/http://cerberusphoenix.deviantart.com/http://usoppthegreat.deviantart.com/http://era­artwork.deviantart.com/http://shabarov.deviantart.com/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×