O documento discute testes automatizados em Django usando UnitTest e Object Factory. Apresenta problemas com fixtures e propõe o Model Mommy como alternativa para popular bancos de dados de teste de forma dinâmica e extensível.
Django, Testes e Você
UnitTest Extendido
Integração com Aplicativos
Integração com o Models
Banco de Testes Isolado
Testes Por Aplicativo
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]]]
13.
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.
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!