Articles of unidad de

¿Qué números puede pasar como verbosidad en la ejecución de los conjuntos de pruebas unitarias de Python?

El framework unittest de Python tiene un concepto de verbosidad que parece que no puedo encontrar definido en ninguna parte. Por ejemplo, estoy ejecutando casos de prueba como este ( como en la documentación ): suite = unittest.TestLoader().loadTestsFromTestCase(MyAwesomeTest) unittest.TextTestRunner(verbosity=2).run(suite) El único número que he visto pasar como verbosidad es 2. ¿Qué es este número mágico, […]

Excluyendo directorio, módulo en python nosetest

Usamos la nariz para descubrir pruebas y ejecutarlas. Todas las pruebas están escritas de TestCase compatible con TestCase para que cualquier corredor de prueba pueda ejecutar. El problema es que tenemos algunos directorios que no tienen ninguna prueba. Pero el corredor de pruebas sigue descubriendo la prueba desde allí. Si uno de esos directorios tiene […]

Cómo parchar una constante en python

Tengo dos módulos diferentes en mi proyecto. Uno es un archivo de configuración que contiene LOGGING_ACTIVATED = False Esta constante se usa en el segundo módulo (llamémoslo main) como lo siguiente: if LOGGING_ACTIVATED: amqp_connector = Connector() En mi clase de prueba para el módulo principal me gustaría parchear esta constante con el valor True Desafortunadamente […]

Python unittest: invoca unittest.main () con un TestSuite personalizado

Estoy haciendo pruebas de unidad con python. No estoy usando ningún descubrimiento de prueba automático. Estoy ensamblando TestCases en un TestSuite manualmente. Puedo ejecutar estas pruebas con unittest.TextTestRunner().run(suite) , me gustaría ejecutarlas con unittest.main() para poder usar las opciones de la línea de comandos (como -v / –failfast ). La documentación dice que unittest.main() puede […]

¿Cuál es la mejor manera de pasar datos a Python Unittest Redirected STDIN o Pickle?

Pregunta corta ¿Cuál es la mejor manera de obtener datos en un caso de prueba de unidad de Python? Fondo Mi proyecto utiliza el módulo unittest de Python como una forma automática de ejecutar una serie de pruebas que deberán ejecutarse en muchas de las mismas tablas. Hasta ahora, este es un buen ajuste para […]

Prueba de protocolo torcido

Tengo unos protocolos de servidor y cliente muy básicos desarrollados utilizando Twisted . Twisted permite probarlos de forma independiente y proporciona útiles StringTransport prueba como StringTransport para esto. Sin embargo, digamos que quiero probar que el protocolo funciona bien. Por ejemplo, quiero probar que cuando el servidor recibe un mensaje determinado, responderá al cliente de […]

Cómo obtener el nombre de testcase que se ejecuta actualmente de testinguite en unittest

¿Cómo puedo obtener el nombre de testcase actualmente en ejecución , mientras que en la colección de testsuite hay 16 testcases? Las pruebas se ejecutan secuencialmente (en el orden de agregar pruebas a la colección testSuite). Cuando agrego todas las pruebas a la colección testSuite puedo obtener una vista previa de este objeto, pero ¿cómo […]

Burlarse de un método de clase y cambiar algunos atributos de objeto en Python

Soy nuevo para burlarse de Python. Quiero saber cómo reemplazar (simular) un método de clase mientras se prueba con otro, sabiendo que el original simplemente cambia algunos atributos de sí mismo sin devolver ningún valor. Por ejemplo: def some_method(self): self.x = 4 self.y = 6 Así que aquí no puedo simplemente cambiar el valor de […]

¿Cómo pruebas unitarias de una tarea de apio?

La documentación de Celery menciona la prueba de Celery en Django pero no explica cómo probar una tarea de Celery si no está usando Django. ¿Cómo haces esto?

Python simula un parche de una función dentro de otra función

def f1(): return 10, True def f2(): num, stat = f1() return 2*num, stat ¿Cómo uso la biblioteca simulada de python para parchear f1() y devolver un resultado personalizado para poder probar f2() ? Editado: ¿Hay algún problema con mi prueba? Esto no parece estar funcionando, todas las pruebas fallaron con AssertionError from foo.bar import […]