Marcas y omisiones en Python
Las marcas etiquetan pruebas para que una corrida las seleccione o las espere.
import sys
import pytest
@pytest.mark.skipif(sys.version_info < (3, 11), reason="necesita TaskGroup")
def test_solo_moderno():
assert hasattr(__import__("asyncio"), "TaskGroup")
@pytest.mark.xfail(reason="el redondeo varía por plataforma", strict=False)
def test_vaiven_conocido():
assert 0.1 + 0.2 == 0.3
@pytest.mark.slow
def test_marcado_lento():
assert sum(range(1000)) == 499500
@pytest.mark.parametrize("valor", [1, pytest.param(0, marks=pytest.mark.xfail)])
def test_verdadero(valor):
assert valor
Cómo funciona
skipifomite bajo una condición, con su razón.xfailregistra una falla conocida sin romper la corrida.- Una marca propia más
-mselecciona un subconjunto.
Palabras clave y builtins usados aquí
__import__assertdefhasattrrangesum
El intento, en números
- Líneas
- 23
- Caracteres a escribir
- 513
- Tokens
- 129
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 70 segundos.
Paso 1 de 3 en Seleccionar y simular; paso 6 de 9 en Testing con pytest.