Saltar a contenido

1.4 Pruebas con pytest

Una prueba unitaria comprueba automáticamente que una función devuelve lo esperado. En Python se usa pytest.

Instalación

pip install pytest

La función

# calculadora.py
def suma(a, b):
    return a + b


def dividir(a, b):
    if b == 0:
        raise ValueError("b no puede ser 0")
    return a / b

La prueba

# test_calculadora.py
import pytest
from calculadora import suma, dividir


def test_suma_dos_positivos():
    assert suma(2, 3) == 5


def test_suma_con_cero():
    assert suma(5, 0) == 5


def test_dividir_por_cero_lanza_error():
    with pytest.raises(ValueError):
        dividir(1, 0)
pytest

Patrón AAA

Arrange (preparar), Act (ejecutar), Assert (comprobar). Los archivos de prueba empiezan por test_ y las funciones también.