andrews medina

Testando tags e filtros customizados no Django

escrito em 18/09/2010

O sistema de templates do Django traz nativamente uma grande variedade de tags e filtros, mas, em vários casos é necessário criar tags e filtros customizados.

Criar tags e filtros está bem documentado na documentação oficial do Django, mas, como testar tags e filtros customizados é algo que gera muitas dúvidas em vários desenvolvedores.

Uma forma simples para testar filtros e tags é utilizar a própria Template API do Django para criar e renderizar uma template que utilize um filtro ou tag a ser testado.

Um teste para um filtro 'reverse' que inverte uma string, seria da seguinte maneira:


from django.test import TestCase
from django.template import Context, Template

class TestFilter(TestCase):

def test_lower_filter(self):

html = '{% load reverse %}'
html += '{{ username|reverse }}'

template = Template(html)
context = Context({'username': 'ozzy'})

assert 'yzzo' == template.render(context)

Assim é possivel fazer TDD no desenvolvimento de filtros e tags sem sofrimento.

blog comments powered by Disqus