Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Introducción a las Pruebas en Python | Pruebas con Unittest y Pytest
Programación Estructural en Python

Introducción a las Pruebas en Python

Desliza para mostrar el menú

Las pruebas son una práctica fundamental en el desarrollo de software, ya que garantizan que el código se comporte como se espera y siga siendo confiable a medida que evoluciona. Las pruebas automatizadas permiten verificar el código de manera automática, en lugar de depender de revisiones manuales que consumen mucho tiempo y son propensas a errores. Al escribir pruebas, se puede detectar rápidamente cuándo los cambios afectan la funcionalidad existente y modificar o ampliar el código con confianza.

Uno de los enfoques más populares para las pruebas es el desarrollo guiado por pruebas (TDD). En TDD, se comienza escribiendo una prueba que describe un comportamiento o característica deseada antes de implementar el código correspondiente. Este proceso fomenta una reflexión cuidadosa sobre los requisitos y casos límite desde el principio, lo que conduce a un código más limpio y fácil de mantener. Después de escribir la prueba, se implementa el código mínimo necesario para que la prueba pase y luego se refactoriza el código para mejorar su claridad o eficiencia, ejecutando nuevamente las pruebas para asegurarse de que nada se rompa. Este ciclo —escribir una prueba, escribir el código, refactorizar— ayuda a construir software robusto de manera incremental.

Las pruebas no solo sirven para detectar errores. También funcionan como documentación viva del código, facilitando que otras personas (y uno mismo en el futuro) comprendan cómo debe funcionar el código. Las pruebas automatizadas son especialmente valiosas al colaborar en equipos o trabajar en proyectos grandes, ya que proporcionan una red de seguridad que fomenta la experimentación y cambios de código con confianza.

12345
# A function to add two numbers def add(a, b): return a + b print(add(2, 3))
# A basic test case for the add function using unittest
import unittest

class TestAddFunction(unittest.TestCase):
    def test_add_positive_numbers(self):
        self.assertEqual(add(2, 3), 5)

    def test_add_zero(self):
        self.assertEqual(add(0, 5), 5)

    def test_add_negative_numbers(self):
        self.assertEqual(add(-1, -1), -2)

El código proporcionado define una clase de caso de prueba llamada TestAddFunction utilizando el framework integrado unittest de Python. Dentro de esta clase, se encuentran tres métodos de prueba:

  • test_add_positive_numbers comprueba que al llamar a add(2, 3) se obtiene 5;
  • test_add_zero verifica que al sumar cero y cinco con add(0, 5) se obtiene 5;
  • test_add_negative_numbers confirma que al sumar dos números negativos, add(-1, -1), se obtiene -2.

Cada método de prueba utiliza self.assertEqual para comparar el resultado real de la función add con el valor esperado. Si alguna prueba falla, el framework lo reportará, ayudando a detectar errores de manera temprana.

question mark

¿Cuál de los siguientes es un beneficio clave de las pruebas automatizadas en el desarrollo con Python?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 5. Capítulo 1
some-alt