Métodos de Assert en UnitTest para Pruebas Efectivas
Clase 7 de 20 • Curso de Unit Testing en Python
Resumen
UnitTest nos proporciona una amplia gama de métodos de aserción que mejoran la forma en que validamos nuestras pruebas. En esta clase, hemos explorado algunos de ellos y cómo utilizarlos en diferentes escenarios.
¿Cómo se usa el assertEqual en Unit Test?
El método assertEqual
compara dos valores para verificar si son iguales. Acepta dos parámetros para comparar y opcionalmente un mensaje personalizado que se mostrará en la terminal si la prueba falla. Este método se integra bien con los editores, permitiendo ejecutar y depurar pruebas de manera eficiente.
- Parámetros: valor esperado, valor obtenido, mensaje de error (opcional)
- Uso típico: Validar igualdad de números, cadenas, o cualquier otro objeto comparable.
¿Qué otros métodos de aserción existen en Unit Test?
Además de assertEqual
, Unit Test incluye muchos otros métodos de aserción útiles:
assertTrue
: Verifica que una expresión sea verdadera. No compara valores, solo evalúa si una condición es cierta.assertRaises
: Valida que se lance una excepción específica dentro de un bloque de código, utilizando la palabra clavewith
como contexto.assertIn
yassertNotIn
: Comprueban si un elemento está o no está dentro de una secuencia, como una lista o un conjunto.
¿Cómo se manejan excepciones en Unit Test?
Con assertRaises
, se puede verificar que una excepción se lance correctamente. Este método es especialmente útil para manejar errores esperados, como cuando un usuario no tiene suficientes fondos para completar una transferencia.
- Se utiliza con
with
para capturar la excepción dentro de un bloque de código. - Ejemplo: Capturar un
ValueError
al pasar un argumento no válido a una función.
¿Cómo comparar listas, diccionarios y sets en Unit Test?
Unit Test ofrece métodos para comparar estructuras de datos más complejas:
assertDictEqual
: Compara dos diccionarios.assertSetEqual
: Compara dos sets para validar que contengan los mismos elementos, independientemente del orden.- Estos métodos también cuentan con variantes negativas, como
assertNotEqual
, para validar desigualdades.