Articles of prueba de unidad de

salida de color unittest

Utilizo unittest (en realidad unittest2 ) para las pruebas en Python, junto con Python Mock para burlarse de los objetos y la nariz para ejecutar todas las pruebas en una sola pasada. Echo de menos poder decir lo que funciona y lo que está mal de un vistazo desde las barras verde / roja. ¿Hay […]

Registrar la salida de Unittest a un archivo de texto

Estoy intentando registrar el resultado de las pruebas en un archivo de texto. Estoy usando el módulo unittest y quiero registrar los resultados en un archivo de texto en lugar de en la pantalla. Tengo un script aquí para explicar lo que se ha intentado hasta ahora. Este es el script de prueba. import unittest, […]

Muestra los resultados de la prueba de Python en forma agradable y tabular.

Estoy escribiendo una herramienta Pythonic que valida la corrección de un determinado sistema. Cada validación se escribe como una prueba de unittest Python, y el informe se ve así: test_exclude_list_not_empty (__main__.TestRepoLists) Assert the the exclude list is not empty … ok test_include_list_not_empty (__main__.TestRepoLists) Assert the the include list is not empty … ok test_repo_list_not_empty (__main__.TestRepoLists) […]

¿Atributos simulados en simulacro de Python?

Me está costando bastante el uso de mock en Python: def method_under_test(): r = requests.post(“http://localhost/post”) print r.ok # prints “” if r.ok: return StartResult() else: raise Exception() class MethodUnderTestTest(TestCase): def test_method_under_test(self): with patch(‘requests.post’) as patched_post: patched_post.return_value.ok = True result = method_under_test() self.assertEqual(type(result), StartResult, “Failed to return a StartResult.”) La prueba realmente devuelve el valor correcto, […]

¿Cómo escribir un método `.assertFoo ()` personalizado en Python?

Estoy escribiendo algunos casos de prueba para mi aplicación utilizando el test de unittest de Python. Ahora necesito comparar una lista de objetos con una lista de otros objetos para verificar si los objetos de la primera lista son lo que estoy esperando. ¿Cómo puedo escribir un método .assertFoo() ? ¿Qué debería hacer? ¿Debería plantearse […]

¿Es posible que una prueba unitaria afirme que un método llama a sys.exit ()?

Tengo un método de python 2.7 que a veces llama sys.exit(1) ¿Es posible realizar una prueba de unidad que verifique que se llame a esta línea de código cuando se cumplan las condiciones correctas?

Afirmar que se llamó a un método en una prueba unitaria de Python

Supongamos que tengo el siguiente código en una prueba unitaria de Python: aw = aps.Request(“nv1”) aw2 = aps.Request(“nv2”, aw) ¿Hay una manera fácil de afirmar que un método particular (en mi caso aw.Clear() ) fue llamado durante la segunda línea de la prueba? por ejemplo, hay algo como esto: #pseudocode: assertMethodIsCalled(aw.Clear, lambda: aps.Request(“nv2”, aw))

¿Cómo mostrar los mensajes de error capturados por assertRaises () en unittest en Python2.7?

Para asegurarme de que los mensajes de error de mi módulo sean informativos, me gustaría ver todos los mensajes de error detectados por assertRaises (). Hoy lo hago para cada assertRaises (), pero como hay muchos de ellos en el código de prueba, se vuelve muy tedioso. ¿Cómo puedo imprimir los mensajes de error para […]

Prueba de unidad PyDev: cómo capturar texto registrado en un registro. Registrador en “Salida capturada”

Estoy usando PyDev para el desarrollo y la prueba unitaria de mi aplicación Python. En cuanto a la prueba de unidad, todo funciona muy bien, excepto el hecho de que no se registra ningún contenido en el marco de registro. El registrador no es capturado por la “Salida capturada” de PyDev. Ya estoy enviando todo […]

Cómo hacer pruebas unitarias de funciones escribiendo archivos usando python unittest

Tengo una función de Python que escribe un archivo de salida en el disco. Quiero escribir una prueba de unidad para ello usando el módulo de prueba de unidad de Python. ¿Cómo debo hacer valer la igualdad de archivos? Me gustaría recibir un error si el contenido del archivo difiere de la lista esperada + […]