Successfully reported this slideshow.
Your SlideShare is downloading. ×

Django Object factory

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 24 Ad

More Related Content

Slideshows for you (20)

Advertisement

Similar to Django Object factory (20)

Advertisement

Recently uploaded (20)

Django Object factory

  1. 1. Testes com Django e Object Factory II 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] DocTest Testes  embutidos  no  próprio código. Prático  para  testar  funções simples.
  8. 8. E o Python? [2] UnitTest Testes  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.py O 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  Fixture a cada teste. Se  quiser  popular  o  banco  JSON automaticamente você precisa  YAML utilizar  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 Girl Não depende de arquivos  externos!
  16. 16. Model Mommy Object Factory for Django (1.1 e 1.2) Criado por Vanderson Motta Vários contribuidores Evoluindo rápidamente Suporte 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 Panos ModelMommy  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. Generators Funçõ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_mommy https://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/

×