typestar

Fixtures integrados en Python

tmp_path, monkeypatch y capsys cubren casi todo lo que una prueba necesita.

import os
from pathlib import Path


def contar_lineas(ruta):
    return len(Path(ruta).read_text().splitlines())


def reportar(nombre):
    print(f"el tema es {os.environ.get('TYPESTAR_THEME', 'default')}")
    return nombre


def test_cuenta_lineas(tmp_path):
    objetivo = tmp_path / "intentos.txt"
    objetivo.write_text("uno\ndos\ntres\n")
    assert contar_lineas(objetivo) == 3


def test_lee_el_entorno(monkeypatch, capsys):
    monkeypatch.setenv("TYPESTAR_THEME", "monokai")
    reportar("x")
    assert "monokai" in capsys.readouterr().out

Cómo funciona

  1. tmp_path es un directorio fresco por prueba.
  2. monkeypatch deshace sus cambios cuando la prueba termina.
  3. capsys captura lo que el código imprimió.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
23
Caracteres a escribir
517
Tokens
130
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 74 segundos.

Escribe este fragmento

Paso 2 de 2 en Fixtures; paso 5 de 9 en Testing con pytest.

← Anterior Siguiente →