Atributos de Test
En esta página
Los decoradores @test y @suite aceptan atributos que refinan el
comportamiento del runner sin alterar el código que se prueba.
skip
skip: "motivo" marca el test para ser ignorado, pero aún lo muestra en el
informe como pendiente. Ideal para casos aún no implementados:
Se ejecuta con zolo test. Ilustra skip (test omitido), should_throw
(fallo esperado) y un @test normal en el mismo archivo.
@test(skip: "ainda nao implementado")
fn pulado() { expect(1).to_eq(2) } // would fail, but skipped
@test(should_throw: "out of range")
fn deve_lancar() {
panic("out of range")
}
@test
fn normal() { expect(1).to_eq(1) }
Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.
should_throw
should_throw: "mensaje" invierte la expectativa: el test pasa si — y solo
si — el cuerpo lanza un panic con el mensaje indicado. Úsalo para validar
comportamientos de contrato.
only
Cuando existe al menos un @test(only) en el archivo, el runner ignora todos
los demás tests. Útil para centrarse en un único caso durante el desarrollo:
foco es el único test que se ejecuta; ignorado_por_only fallaría, pero
es omitido automáticamente por la presencia de only.
@test(only)
fn foco() { expect(1).to_eq(1) }
@test
fn ignorado_por_only() { expect(1).to_eq(2) } // would fail, but skipped due to `only`
Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.
tag
tag: asocia etiquetas al test, lo que permite filtrar en la línea de comandos
(zolo test --tag fast). Acepta una cadena o una lista de cadenas:
Desafío
Crea un test con skip: "TODO" y otro con should_throw: "división por cero".
Ejecuta zolo test y verifica cómo aparece cada uno en el informe.
Consulta también