Quiero que mis pruebas fallen si tardan más de cierto tiempo en ejecutarse (digamos 500ms) porque es una mierda cuando se acumulan cargas lentas y repentinamente tienes este gran retraso cada vez usted ejecuta el conjunto de pruebas. ¿Hay algún complemento o algo para Nose que ya lo haga?Haciendo pruebas fallidas de nose nose
Respuesta
Respetuosamente sugiero que cambiar el significado de "roto" es una mala idea.
El significado de una prueba fallida/"roja" nunca debe ser otra que "esta funcionalidad está rota". Para hacer cualquier otra cosa, se corre el riesgo de diluir el valor de las pruebas.
Si decide implementar esta forma y luego la próxima semana un puñado de pruebas fallan, ¿sería un indicador de que
- Sus pruebas se ejecutan lentamente?
- ¿El código está roto?
- Ambos de los anteriores al mismo tiempo?
que sugieren que sería mejor para reunir MI de su proceso de construcción y el monitor con el fin de detectar pruebas lentas se acumulan, pero dejar que "la funcionalidad roto" media roja en lugar de "funcionalidad roto y/o la prueba lenta. "
Para los casos en donde el tiempo es importante (por ejemplo, requisitos de tiempo real):
http://nose.readthedocs.org/en/latest/testing_tools.html
nose.tools.timed(limit)
prueba debe terminar dentro del límite de tiempo especificado para pasar.
Ejemplo del uso:
from nose.tools import timed @timed(.1) def test_that_fails(): time.sleep(.2)
Sería bueno si funciona – Jack
- 1. python-nose: assertion library?
- 2. Obteniendo pruebas para paralelizar usando nose en python
- 3. ¿Dónde está la función assert_raises de nose?
- 4. ImportError usando nose, no ImportError usando rawtesttest?
- 5. ¿Cómo usar los assert_raises de nose?
- 6. ¿Cómo hago para que nose descubra testcases generados dinámicamente?
- 7. ¿Cómo puedo ejecutar una sola prueba con Nose in Pylons
- 8. Proyectos prominentes de Python usando Nose para probar
- 9. ¿Por qué nose encuentra pruebas en archivos con solo 644 permisos?
- 10. Python + nose: hacer afirmaciones sobre el texto registrado?
- 11. Django-nose no crea modelos de solo prueba durante las ejecuciones de prueba
- 12. Necesito una muestra de python unit testing modelo sqlalchemy con nose
- 13. Generar informe PHPUnit (Pruebas fallidas y pasadas)
- 14. Haciendo pruebas funcionales en Rails con Devise
- 15. ¿Es posible usar Nose para ejecutar una prueba varias veces, al mismo tiempo?
- 16. Python nose framework: Cómo detener la ejecución tras la primera falla
- 17. Importaciones de Python para pruebas usando nose: cuál es la mejor práctica para las importaciones de módulos sobre el paquete actual
- 18. PHPUnit: reintenta automáticamente las pruebas fallidas X veces?
- 19. Volviendo a ejecutar las pruebas fallidas y no ejecutadas
- 20. Pruebas unitarias: ¿Lo estoy haciendo bien?
- 21. Pruebas unitarias DAO, ¿lo estoy haciendo bien?
- 22. Pruebas de unidad de servicio web fallidas detrás de un proxy en Eclipse
- 23. Compruebe que una función genera una advertencia con las pruebas de nariz
- 24. Nariz de Python: Log resultados de las pruebas en un archivo con complemento de multiproceso
- 25. ¿Estoy haciendo algo fundamentalmente incorrecto en mis pruebas unitarias?
- 26. Haciendo que las pruebas unitarias fallen rápidamente para la prueba de mutación
- 27. ¿Cómo limpiar viejas compilaciones fallidas en TeamCity?
- 28. Python: ¿Cómo puedo crear archivos temporales en mi banco de pruebas?
- 29. Todas las pruebas pasaron, pero la compilación de bambú falla con una declaración "No se encontraron pruebas fallidas, se produjo un posible error de compilación".
- 30. `python -m unittest discover` no descubre las pruebas
Gracias por su respuesta! Eso tiene sentido. ¿Alguna sugerencia para producir un informe de los tiempos de ejecución de casos de prueba? –
@ThomasParslow He estado usando [la función del cronómetro de pinocchio] (http://darcs.idyll.org/~t/projects/pinocchio/doc/#id12) para medir los tiempos de prueba. Produce un pickle que luego puede procesar mediante un simple script de python. –