Aprender a programar con Python - el tutorial práctico

Fundamentos de las pruebas unitarias de Python: Tu entrada

Todos los vídeos del tutorial Aprender a programar con Python - el tutorial práctico

Unit-Tests son una herramienta poderosa para los desarrolladores, para asegurar la calidad de su código. Te permiten probar funciones de manera aislada y asegurarte de que funcionen como se desea. En esta guía, te mostraré cómo escribir tu primera prueba unitaria en Python. Aprenderás no solo los fundamentos de las pruebas unitarias, sino también cómo puedes construir tus pruebas de manera eficiente.

Principales conclusiones

  • Las pruebas unitarias ayudan a detectar errores a tiempo y a asegurar que tus funciones funcionen como se desea.
  • La biblioteca de Python unittest ofrece una manera sencilla de implementar pruebas.
  • Las pruebas efectivas incluyen tanto escenarios positivos como negativos y verifican los tipos de datos de las devoluciones.

Guía paso a paso

Paso 1: Preparación de tu proyecto

Primero, necesitas un archivo de Python en el que se defina tu función. En nuestro ejemplo, llamaremos al archivo precio_calculo.py. Aquí definirás una función get_precio_venta que recibe el precio de compra y agrega un margen.

Fundamentos de las pruebas unitarias de Python: Tu inicio

Paso 2: Crea un archivo para tus pruebas unitarias

A continuación, crea un nuevo archivo que contendrá las pruebas para esta función. Llamemos a este archivo precio_calculo_test.py. Aquí trabajarás con el módulo unittest.

Para utilizar el marco, lo importas al principio de tu archivo:

import unittest
from precio_calculo import get_precio_venta
Fundamentos de pruebas unitarias en Python: Tu inicio

Paso 3: Define una clase de prueba

Una clase de prueba debe heredar de unittest.TestCase. Esto te permite organizar todas las pruebas en una forma estructurada. Nombra la clase como PrecioCalculoTest para aclarar qué se está probando.

Fundamentos de Python Unit-Test: Tu inicio

Paso 4: Escribe tus pruebas

Ahora es el momento de escribir pruebas reales. Comienza con una prueba que verifique si la devolución de get_precio_venta tiene el tipo esperado (float):

class PrecioCalculoTest(unittest.TestCase): def test_precio_es_float(self): vk = get_precio_venta(100) self.assertIsInstance(vk, float)
Fundamentos de Python Unit-Test: Tu inicio

Paso 5: Prueba entradas no válidas

Es igualmente importante probar entradas no válidas. Agrega una prueba que verifique si la función lanza una excepción al recibir entradas no válidas, como None o un String:

def test_entrada_invalida(self): with self.assertRaises(TypeError): get_precio_venta("invalido")
Fundamentos de Python Unit-Test: Tu entrada

Paso 6: Ejecutar pruebas

Para ejecutar tus pruebas, puedes hacerlo ya sea a través de la terminal o directamente en tu IDE. Si usas la terminal, ejecuta lo siguiente:

python -m unittest precio_calculo_test.py

En tu IDE, como PyCharm, puedes usar la configuración de ejecución para realizar las pruebas.

Fundamentos de Python Unit-Test: Tu inicio

Paso 7: Revisa los resultados

Si ejecutas las pruebas correctamente, recibirás una salida que te indicará si todas las pruebas fueron superadas. Un resultado verde significa que tu código funciona como se esperaba.

Paso 8: Expande las pruebas

Además de las pruebas básicas, puedes agregar otros escenarios relevantes para aumentar la seguridad del código. Ten en cuenta probar tanto casos positivos como negativos para asegurarte de que tu lógica funcione en todas las situaciones.

Fundamentos de Pruebas Unitarias en Python: Tu Entrada

Resumen - Primer prueba unitaria con Python: Fundamentos y realización

Escribir pruebas unitarias es una habilidad importante que te ayuda a hacer que tu código sea confiable. En esta guía, has aprendido a escribir la primera prueba unitaria en Python, desde la definición de la función hasta la ejecución y revisión de los resultados. A través de pruebas exhaustivas, la mantenibilidad de tu código se mejora significativamente y los problemas se detectan a tiempo.

Preguntas frecuentes

¿Cómo creo una prueba unitaria en Python?Para crear una prueba unitaria en Python, crea una clase de prueba que herede de unittest.TestCase y escribe pruebas como métodos de esta clase.

¿Por qué debería escribir pruebas unitarias?Las pruebas unitarias ayudan a detectar errores a tiempo y aseguran que tus funciones funcionen como se desea.

¿Cómo ejecuto pruebas unitarias?Puedes ejecutar pruebas unitarias a través de la terminal con python -m unittest [nombre del archivo] o directamente en tu IDE.

¿Cuáles son buenas prácticas para las pruebas unitarias?Una buena práctica incluye tanto escenarios de prueba positivos como negativos, así como la verificación de tipos de datos. También es importante la regularidad de la ejecución para verificar de inmediato los cambios en el código.