[Andrews Medina] Testando tags e filtros customizados no Django

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.