¿Cuántos casos de test ejecuta pytest aquí?
import pytest
@pytest.mark.parametrize("a,b,expected", [
(1, 2, 3),
(0, 0, 0),
(-1, 1, 0),
])
def test_add(a, b, expected):
assert a + b == expectedOpciones
- 1
- 3 (Opción correcta)
- 6
- 9
Respuesta
3
Por qué
parametrize ejecuta la misma función de test una vez por cada conjunto de valores de la lista. Tres tuplas → tres casos de test separados, y cada uno se informa como pasado o fallado por su cuenta.
Esto evita copiar y pegar tests casi idénticos, y una entrada que falle no oculta las demás.
Recuerda
parametrize = mismo test, muchas entradas.