¿Necesitas probar tu API en FastAPI pero no tienes datos? Genera datos aleatorios con NumPy para simular bases de datos enormes.
import numpy as np# 馃幉 3 edades aleatorias entre 18 y 65edades = np.random.randint(18, 65, size=3)print(edades)
¿Necesitas probar tu API en FastAPI pero no tienes datos? Genera datos aleatorios con NumPy para simular bases de datos enormes.
import numpy as np# 馃幉 3 edades aleatorias entre 18 y 65edades = np.random.randint(18, 65, size=3)print(edades)
Escribir tests automatizados es lo que diferencia el c贸digo de producci贸n del c贸digo amateur. Un test verifica de forma autom谩tica que una funci贸n o clase se comporta exactamente como se espera, permitiendo detectar errores antes de que lleguen a producci贸n.
El m贸dulo unittest, incluido en la librer铆a est谩ndar, permite definir clases de pruebas con m茅todos que comienzan por test_, dentro de los cuales se usan aserciones como assertEqual() para comprobar que el resultado obtenido coincide con el esperado. La alternativa externa m谩s popular es pytest, m谩s concisa y con un ecosistema de extensiones muy amplio.
C贸digo de ejemplo:
import unittest
def suma(a, b):
return a + b
class TestSuma(unittest.TestCase):
def test_numeros_positivos(self):
self.assertEqual(suma(2, 3), 5)
def test_numeros_negativos(self):
self.assertEqual(suma(-1, -1), -2)
if __name__ == "__main__":
unittest.main()
✅ Qu茅 es el testing y por qu茅 es esencial
✅ C贸mo crear tests automatizados con unittest
✅ Qu茅 es un test case y c贸mo definirlo
✅ C贸mo comprobar que el c贸digo funciona correctamente
✅ Qu茅 hacer cuando un test falla
unittest?unittest es el m贸dulo est谩ndar de Python para pruebas automatizadas.
Permite crear clases de test que validan que tus funciones y m茅todos se comporten correctamente.
import unittest
def suma(a, b):
return a + b
class TestSuma(unittest.TestCase):
def test_suma_positivos(self):
self.assertEqual(suma(2, 3), 5)
def test_suma_negativos(self):
self.assertEqual(suma(-2, -3), -5)
if __name__ == '__main__':
unittest.main()
import unittest: importa el framework
class TestX(unittest.TestCase): define un grupo de tests
self.assertEqual(...): compara resultado esperado con resultado real
unittest.main(): ejecuta todos los tests definidos
self.assertNotEqual(a, b) self.assertTrue(condici贸n) self.assertFalse(condici贸n) self.assertIn(valor, lista) self.assertRaises(ErrorEsperado, funcion, args)
✔️ Al desarrollar funciones cr铆ticas
✔️ Cuando mantienes proyectos grandes
✔️ Al trabajar en equipo
✔️ Para prevenir errores en producci贸n
class Usuario:
def __init__(self, nombre):
self.nombre = nombre
def saludo(self):
return f"Hola, {self.nombre}"
class TestUsuario(unittest.TestCase):
def test_saludo(self):
u = Usuario("Ana")
self.assertEqual(u.saludo(), "Hola, Ana")
✔️ A automatizar pruebas con unittest
✔️ A validar comportamientos de funciones y clases
✔️ A escribir c贸digo m谩s confiable y profesional
✔️ A detectar errores antes de que lleguen al usuario
馃搨 C贸digo de ejemplo en GitHub:
github.com/josecodetech
馃帴 Video paso a paso en YouTube:
https://youtu.be/-2Dj28lOn8E