Saltar al contenido

32 · Testing

Matchers con expect()

La biblioteca expect() y sus matchers: igualdad, longitud, pertenencia, prefijo y negación.

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.

01-expect.zolo
Playground
// 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

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br