Hasta ahora he estado usando el módulo unittest incorporado (pyUnit) para probar unidades de código Python. Sin embargo, para casos simples, parece exagerado. Siendo un derivado de xUnit, parece un poco pesado para la naturaleza dinámica de Python, donde esperaría escribir menos para lograr los mismos efectos. Por otro lado, está incorporado, te hace escribir tus pruebas de una manera organizada, y se prueba por tiempo.Marco preferido de pruebas de unidades Python
Las principales alternativas que he visto en línea son:
¿Cuál de los marcos es lo que prefiere, y por qué?
actualización 10.12.2011: con la reciente incorporación de la prueba de auto-descubrimiento y muchas nuevas características en unittest
(en Python 2.7 y 3.2), en mi humilde opinión tiene menos sentido usar una biblioteca externa.
En cuanto doctest: Yo no lo considero un marco pruebas unitarias per se. Definitivamente no lo usaría para escribir un gran conjunto de pruebas para una aplicación considerable. doctest es más adecuado para asegurarse de que los ejemplos que proporciona en la documentación funcionen. Tiene su lugar para esta necesidad, pero no es un competidor para unittest, py.test y otros frameworks.
Al parecer, el módulo de unittest construir-en ocasiones se conoce como PyUnit: http://docs.python.org/library/unittest.html ¿se refiere al módulo unittest construir-en, o algún otro PyUnit ? –
@Dave Cameron: Creo que debe estar hablando del módulo 'unittest': google no arroja ningún resultado para PyUnit que no sea en realidad el módulo' unittest'. – intuited
lo suficientemente gracioso, en 2010 el unittest2 y el unittest de cpython-2.7 han introducido la configuración/desmantelamiento "multinivel" que le resulta confuso. (Siendo el autor original de py.test) Ahora estoy recomendando formas más flexibles de administrar recursos de prueba y accesorios, también conocidos como "funcargs" :) – hpk42