Fundamentos del Testing en Python
Pruebas Unitarias, de Integración y Funcionales en Python
Pruebas Automatizadas y Unitarias con Python: Ahorra Tiempo y Evita Errores
Estructura de Proyectos de Testing con Unit Test en Python
Conceptos Básicos de Unittest
Pruebas Unitarias con Python: Métodos Setup y Teardown
Pruebas Unitarias con Método Setup en Python
Pruebas de Registro de Transacciones en Cuentas Bancarias
Métodos de Assert en UnitTest para Pruebas Efectivas
Decoradores de Unit Test para Saltar Pruebas y Detectar Fallos
Organización y Gestión de Pruebas
Organización y Ejecución de Pruebas con Python Unit Test
Formato de Nombres para Pruebas Unitarias en Python
Técnicas Avanzadas en Pruebas Unitarias
Pruebas de APIs en Python con Mocking y UnitTest
Simulación de Side Effects con Mock en Pruebas Unitarias
Simulación de Horarios para Pruebas Unitarias en Python
Exploración de Herramientas y Métodos Complementarios
Parametrización de pruebas con SubTest en UnitTest
Pruebas de Código con Doctest en Python
Generación de Datos de Prueba con la Librería Faker
Mejora y Automatización de Pruebas
Cobertura de Código en Python con Coverage: Instalación y Uso
Integración Continua con GitHub Actions para Pruebas Automatizadas
Pruebas Parametrizadas con PyTest: Instalación y Ejecución
Uso de IA para Generar Pruebas Unitarias en Proyectos Software
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El método teardown
es esencial para asegurar que nuestras pruebas no interfieran entre sí, y se usa para limpiar cualquier recurso temporal al final de cada prueba. En este caso, lo hemos aplicado a nuestra cuenta bancaria, donde se registra un log cada vez que se realiza una acción. Vamos a explorar cómo implementarlo correctamente y agregar funcionalidades de logging a nuestra cuenta de banco.
El método teardown
se ejecuta al final de cada prueba, y es utilizado para limpiar recursos como archivos temporales o cerrar conexiones. En este caso, lo usamos para eliminar el archivo de logs que se genera durante nuestras pruebas de la cuenta bancaria. De esta manera, cada prueba se ejecuta en un entorno limpio, sin interferencias de pruebas anteriores.
Añadimos una funcionalidad de logging en el método init
, el cual se ejecuta cada vez que se crea una instancia de nuestra clase BankAccount
. El log incluye eventos como la creación de la cuenta, la consulta de saldo, y cuando se realizan depósitos o retiros. Esto se realiza a través del método logTransaction
, que escribe el mensaje en un archivo de texto.
logFile
) al crear la cuenta.En nuestras pruebas, verificamos si el archivo de log se crea exitosamente. Utilizamos la función os.path.exists
para validar su existencia y asegurarnos de que nuestras pruebas están funcionando correctamente.
El teardown
nos permite eliminar el archivo de log después de cada prueba para que no interfiera con otras. Implementamos una función que, si el archivo existe, lo borra utilizando os.remove
. Esto asegura que las pruebas se ejecutan en un entorno limpio y los logs no se acumulan entre pruebas.
Además de verificar que el archivo existe, es fundamental asegurarnos de que el contenido del archivo sea correcto. Para ello, creamos un método que cuenta las líneas del archivo (countLines
). Luego, en nuestras pruebas, validamos que el número de líneas corresponde al número de transacciones realizadas.
teardown
, el número de líneas sería incorrecto.El siguiente reto es agregar una funcionalidad para registrar un log cuando alguien intente hacer una transferencia sin saldo disponible. El log debe incluir un mensaje indicando la falta de fondos, y también se deben crear pruebas que validen que este log se genera correctamente.
teardown
para limpiar el archivo al finalizar cada prueba.Aportes 12
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?