Articles of unidad de

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 […]

¿Cómo debo organizar el código fuente de Python?

Estoy empezando con Python (es hora de que lo pruebe) y estoy buscando algunas de las mejores prácticas. Mi primer proyecto es una cola que ejecuta experimentos de línea de comandos en varios subprocesos. Estoy empezando a obtener un archivo main.py muy largo, y me gustaría main.py . En general, estoy buscando: ¿Cómo organizan los […]

ReactorNotRestartable cuando lanza dos pruebas de unidad equivalentes con retorcido y de prueba

Tengo dos clases de prueba ( TrialTest1 y TrialTest2 ) escritas en dos archivos ( test_trial1.py y test_trial2.py ) casi idénticas (la única diferencia es el nombre de la clase): from twisted.internet import reactor from twisted.trial import unittest class TrialTest1(unittest.TestCase): def setUp(self): print(“setUp()”) def test_main(self): print(“test_main”) reactor.callLater(1, self._called_by_deffered1) reactor.run() def _called_by_deffered1(self): print(“_called_by_deffered1”) reactor.callLater(1, self._called_by_deffered2) def […]