Pruebas unitarias en Python: unittest

unittest, también conocido como PyUnit, pertenece a ese grupo de herramientas conocido como zUnit. Un conjunto de frameworks con base en SUnit para Smalltalk, de Kent Beck.
El uso de unittest es sencillo, cuando menos al tener práctica. Para cada uno de los grupos de pruebas, debemos de crear una clase que herede de unittest.TestCase, y desde ahí, ir creando métodos que comiencen con test. Cada uno de estos métodos será cada una de las pruebas que realizaremos. El resultado de cada una puede ser:
  • OK, prueba exitosa.
  • FAIL, la prueba ha fallado y se lanza una excepción AssertionError.
  • ERROR, la prueba ha fallado, pero se lanza una excepción distinta de AssertionError.
Aunque como en programación Python, se puede hacer uso de clausulas if, o emplear try/except, la clase TestCase tiene ya implementados una serie de métodos que facilitan las comprobaciones.

Métodos de comprobación

  • assertAlmostEqual(first, second, places=7, msg=None)
    Comprueba que los objetos pasados sean iguales hasta el decimal pasado como parámetro.
  • assertEqual(first, second, msg=None)
    Comprueba que los objetos pasados como parámetros sean iguales.
  • assertFalse(expr, msg=None)
    Comprueba que la expresión sea falsa.
  • assertNotAlmostEqual(first, second, places=7, msg=None)
    Comprueba que los objetos pasados como parámetros no sean iguales hasta el decimal pasado como parámetro.
  • assertNotEqual(first, second, msg=None)
    Comprueba que los objetos pasados como parámetros no sean iguales.
  • assertRaises(excClass, callableObj, *args, **kwargs)
    Comprueba que al llamar al objeto callableObj con los parámetros definidos en *args y **kwargs se lanza una excepción de tipo excClass.
  • assertTrue(expr, msg=None)
    Comprueba que la expresión sea cierta.
  • assert_(expr, msg=None)
    Comprueba que la expresión sea cierta.
  • fail(msg=None)
    Falla inmediatamente.
  • failIf(expr, msg=aquí ponemos lo que queramos desplegar)
    Falla si la expresión es cierta.
  • failIfAlmostEqual(first, second, places=7, msg=None)
    Falla si los objetos pasados como parámetros son iguales hasta el decimal pasado como parámetro.
  • failIfEqual(first, second, msg=None)
    Falla si los objetos pasados como parámetros son iguales.
  • failUnless(expr, msg=None)
    Falla a menos que la expresión sea cierta.
  • failUnlessAlmostEqual(first, second, places=7, msg=None)
    Falla a menos que los objetos pasados como parámetros sean iguales hasta el decimal pasado como parámetro.
  • failUnlessEqual(first, second, msg=None)
    Falla a menos que los objetos pasados como parámetros sean iguales.
  • failUnlessRaises(excClass, callableObj, *args, **kwargs)
    Falla a menos que al llamar al objeto callableObj con los parámetros definidos por *args y **kwargs se lance una excepción de tipo excClass.

Referencias

Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios