====== Tests en Python y Django ====== Algunos documentos básicos: [[http://docs.djangoproject.com/en/dev/topics/testing/|Testing Django applications]] [[http://docs.python.org/library/doctest.html|doctest — Test interactive Python examples]] [[http://docs.python.org/library/unittest.html|unittest — Unit testing framework]] [[http://delicious.com/fgomez/python%3Atesting|bookmarks de fgomez en del.icio.us]] Mi primera experiencia de testeo fue usar **doctest** para el método ''pywxis.WxisDb.index'' en [[http://code.google.com/p/catalis/source/browse/trunk/django_files/pywxis.py?spec=svn9&r=9|pywxis.py]]. El uso de doctest plantea algunos dilemas, dado su carácter híbrido de documentación y código para tests, a un mismo tiempo. Si el espíritu de doctest ---tal como dice Martelli en Python in a nutshell, 2nd ed.--- es crear //buenos ejemplos de uso//, en lo posible haciendo como si //unit testing// no fuera parte de la cuestión, entonces tal vez deberíamos limitarnos a llamar directamente a los métodos públicos, sin caer en la tentación de (p.ej.) definir funciones auxiliares que simplifiquen la organización del código para los testeos. Sin embargo, si en lugar de incluir los tests de cierta complejidad como parte de los docstrings de los métodos, los aislamos en el atributo global ''__test__'', o incluso en un archivo aparte, entonces no estaríamos interfiriendo con el aspecto "documentador" de doctest. TAREA: buscar ejemplos de tests en el mismo código fuente de Django. {{tag>desarrollo python}}