Fundamentos del Testing en Python
驴Qu茅 son las Pruebas Unitarias y por qu茅 es importante?
驴Qu茅 es el Testing en Software?
Instalaci贸n y Configuraci贸n del Entorno de Pruebas
Conceptos B谩sicos de Unittest
C贸mo Crear Pruebas Unitarias con UnitTest en Python
C贸mo usar el m茅todo setup en tests de Python
Uso de tearDown para limpieza de Pruebas Unitarias en Python
C贸mo validar excepciones y estructuras de datos con Unittest en Python
Control de pruebas unitarias con unittest.skip en Python
Organizaci贸n y Gesti贸n de Pruebas
C贸mo organizar y ejecutar pruebas en Python con UnitTest
Mejores pr谩cticas para organizar y nombrar pruebas en Python
T茅cnicas Avanzadas en Pruebas Unitarias
Mocking de APIs externas en Python con unittest
Uso de Side Effects en Mocking con Python
Uso de Patching para Modificar Comportamientos en Python
Exploraci贸n de Herramientas y M茅todos Complementarios
C贸mo parametrizar pruebas en Python con SubTest
Documentaci贸n de pruebas unitarias con Doctest en Python
C贸mo generar datos de prueba din谩micos con Faker en Python
Mejora y Automatizaci贸n de Pruebas
驴C贸mo asegurar la cobertura de pruebas con Coverage en Python
Automatizaci贸n de Pruebas Unitarias en Python con GitHub Actions
Pruebas Unitarias con PyTest en Python
C贸mo crear pruebas unitarias con inteligencia artificial en Python
No tienes acceso a esta clase
隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera
Luis Mart铆nez
En esta lecci贸n, hemos aprendido a modificar el comportamiento de objetos y funciones dentro de nuestras pruebas en Python, utilizando t茅cnicas como el patch para simular situaciones espec铆ficas, como el control del horario de retiro en una cuenta bancaria. Esta habilidad es crucial cuando necesitamos validar restricciones temporales o cualquier otra l贸gica de negocio que dependa de factores externos, como el tiempo.
Para implementar la restricci贸n de horario, se utiliz贸 la clase datetime
para obtener la hora actual. Definimos que los retiros solo pueden realizarse durante el horario de oficina: entre las 8 AM y las 5 PM. Cualquier intento fuera de este horario lanzar谩 una excepci贸n personalizada llamada WithdrawalError
.
BankAccount
.datetime.now().hour
.Las pruebas unitarias permiten simular diferentes horas del d铆a para validar que las restricciones funcionen correctamente. Para lograrlo, usamos el decorador patch
del m贸dulo unittest.mock
, el cual modifica temporalmente el comportamiento de la funci贸n datetime.now()
.
patch
, podemos definir un valor de retorno espec铆fico para now()
, como las 7 AM o las 10 AM.Durante la implementaci贸n, encontramos un error en la condici贸n l贸gica del horario. Inicialmente, se utiliz贸 un operador and
incorrecto para verificar si la hora estaba dentro del rango permitido. Este error se corrigi贸 cambiando la condici贸n a un or
, asegurando que la l贸gica prohibiera retiros antes de las 8 AM y despu茅s de las 5 PM.
Aportes 6
Preguntas 0
驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?