Matchers con expect()
En esta página
El punto de entrada de cualquier aserción es expect(valor). A partir de ahí
se encadena un matcher que describe lo que el valor debe satisfacer. Si la
condición falla, el runner reporta el test como fallido con un mensaje claro.
Los matchers más usados cubren igualdad, tamaño de colecciones, pertenencia y comparación de cadenas:
Se ejecuta con zolo test. Demuestra to_eq, to_start_with, to_have_len,
to_contain, to_be_empty y la inversión .not.
// Demonstrates the expect() matcher library (T4).
@test
fn matchers_basicos() {
expect(2 + 2).to_eq(4)
expect("data:image/png;base64,AAA").to_start_with("data:image/png;base64,")
expect([10, 20]).to_have_len(2)
expect([10, 20]).to_contain(20)
expect("").to_be_empty()
expect(1).not.to_eq(2)
}
Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.
La cadena .not invierte cualquier matcher — expect(1).not.to_eq(2) garantiza
que dos valores son diferentes.
Desafío
Añade un expect("zolo").to_end_with("lo") al ejemplo y ejecuta
zolo test. Luego prueba .not.to_end_with("lo") y observa el mensaje
de fallo.
Consulta también