Fixtures en Python
Un fixture construye lo que la prueba necesita y lo desmonta después.
import pytest
class Sesion:
def __init__(self):
self.runs = []
self.closed = False
def record(self, tpm):
self.runs.append(tpm)
def close(self):
self.closed = True
@pytest.fixture
def sesion():
creada = Sesion()
yield creada
creada.close()
@pytest.fixture(scope="module")
def objetivo():
return 90
def test_registra_intentos(sesion, objetivo):
sesion.record(104)
assert sesion.runs == [104]
assert sesion.runs[0] > objetivo
Cómo funciona
- Pedirlo por nombre es la forma en que una prueba lo solicita.
- Un fixture con yield limpia después de que la prueba retorna.
scopedecide con qué frecuencia se reconstruye.
Palabras clave y builtins usados aquí
assertclassdefreturnselfyield
El intento, en números
- Líneas
- 31
- Caracteres a escribir
- 433
- Tokens
- 117
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 67 segundos.
Paso 1 de 2 en Fixtures; paso 4 de 9 en Testing con pytest.