¿Python tiene un marco de pruebas unitario compatible con el estilo xUnit estándar del marco de prueba? Si es así, ¿qué es, dónde está y es bueno?Pruebas unitarias en Python
Respuesta
Python tiene varios marcos de prueba, incluidos unittest
, doctest
y nose
. La mayoría de xUnit-like es unittest
, que está documentado en Python.org.
Hay testoob que es en suite muy completa de test.Also xUnit-es decir, y tiene una buena opción de informe
Existe también PyUnit que podría ser lo estas buscando.
@ Greg: PyUnit está incluido en la librería estándar como unittest
Considere py.test. No exactamente análogo a NUnit, pero muy bueno, con características agradables que incluyen autodetección de prueba y un "Mire las pruebas y el código: cuando algo cambia, vuelva a ejecutar las pruebas que fallaron la última vez. Tan pronto como pasen todas las pruebas, cambie a ejecutar todas las pruebas cada vez que algo cambia ". opción.
Nunca utilicé xUnit, así que no puedo decir si los marcos son buenos/malos comparativamente, pero here es un script que escribí usando el framework unittest (para comprobar que la API funciona como debería) y el doctest (para comprobar los ejemplos que he dado trabajo)
Mi único problema es comprobar que algo plantea una excepción es un poco intrincado (hay que pasarle una función/lambda que plantea la excepción, en lugar de solo el comando en sí, como el resto del framework). Aparte de eso, hace lo que debería, de manera confiable, y se ha incluido en la distribución predeterminada de python durante bastante tiempo.
Recomiendo nose.
Es el más pitthonic de los marcos de prueba de la unidad. El corredor de prueba ejecuta tanto pruebas documentales como pruebas unitarias, por lo que puede usar el estilo de prueba que desee.
Recomiendo Nose.
Después de la instalación simple y razonable, solo tiene que ejecutar "pruebas de nariz" en la carpeta del proyecto y Nariz encontrará todas sus pruebas y las ejecutará. También me gusta la colección de complementos (cobertura, GAE, etc.) y la capacidad de llamar a Nose directamente desde mis scripts de Python.
nariz parece ser la mejor combinación de flexibilidad y conveniencia. Ejecuta pruebas unitarias, doctests, cobertura (con una extensión) y pruebas py.test-like de un marco y lo hace admirablemente. Tiene suficiente popularidad como para que Komodo Edit haya realizado alguna integración IDE y no me sorprendería verlo en otro lado también.
Me gusta por una buena razón: casi siempre doctest antes de escribir pruebas más extensas en otro marco. Esto se debe a que, para las pruebas básicas, los doctests matan dos pájaros de un tiro. Obtendrá pruebas ejecutables (aunque son un poco torpes para escribir bien a veces), así como documentación de API y documentación interactiva al mismo tiempo. nose ejecutará estos con la extensión doctest incluida cuando use una opción de línea de comandos (--with-doctest).
Digo que esto ha venido de py.test como mi favorito anterior. Si bien es genial, las pruebas de nariz son lo suficientemente similares a mí que no me lo pierdo, y me gusta la integración de las diversas metodologías de prueba bajo un mismo techo, por así decirlo. YMMV, pero recomiendo echarle un buen vistazo a la nariz antes de elegir otra. Si no está familiarizado con las pruebas de py.test, debe verlas también. Los encuentro excelentes porque generalmente están escritos de tal manera que se pueden depurar fácilmente sin el marco de prueba, lo que hace que un sistema menos complicado participe en la sesión de depuración. Me parece valioso por sí solo, mientras que, en mi opinión, también son más fáciles de escribir que las pruebas unittest.
- 1. Python - Pruebas torcidas y unitarias
- 2. Interfaces de pruebas unitarias en Python
- 3. Python, pruebas unitarias y burlas de importaciones
- 4. IDLE para ejecutar pruebas unitarias Python PyUnit
- 5. Pruebas unitarias en C++
- 6. Pruebas unitarias en CakePHP?
- 7. Pruebas unitarias en flex
- 8. Pruebas unitarias en C++
- 9. Pruebas unitarias en C++
- 10. ¿Pruebas unitarias o pruebas funcionales?
- 11. Pruebas unitarias y pruebas funcionales en CodeIgniter
- 12. Jerarquía de archivos adecuada para pruebas unitarias en Python
- 13. Pruebas unitarias para excepciones en el constructor Python
- 14. cambio de orden de pruebas unitarias en Python
- 15. Pruebas unitarias en XSB Prolog?
- 16. Pruebas automatizadas/unitarias de Vbscript
- 17. Pruebas unitarias Controladores MVC
- 18. Pruebas unitarias Scala actores
- 19. Pruebas unitarias para malloc()
- 20. pruebas unitarias maven plugins
- 21. Generando pruebas unitarias automáticamente
- 22. Pruebas unitarias Aplicaciones Dababase
- 23. Pruebas unitarias y nhibernate?
- 24. Pruebas unitarias Wpf Bindings
- 25. Comenzando con Pruebas unitarias
- 26. Pruebas unitarias con Oracle
- 27. Pruebas unitarias Scala
- 28. pruebas unitarias Organizador Django
- 29. Pruebas unitarias IHttpModule
- 30. Pruebas unitarias y SAP
El enlace a la nariz está muerto. – pefu
Se ha actualizado el enlace – codeape
Muchas gracias. – pefu