Aserciones con std.testing
expect, expectEqual y funciones relacionadas.
Aserciones con std.testing es una lección gratuita de Zig Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Zig Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Zig Academy incluye 4 lecciones en total.
El espacio de nombres testing
Las funciones auxiliares de aserción de Zig se encuentran en std.testing. Asígnelo a un nombre corto para que cada comprobación se lea con claridad dentro de los bloques de prueba.
const testing = std.testing;expect para valores booleanos
La función auxiliar más sencilla es expect. Acepta un booleano y hace que la prueba falle cuando la condición es falsa.
try testing.expect(value > 0);Las funciones auxiliares devuelven errores
Todas las funciones auxiliares de pruebas devuelven un error cuando fallan, por lo que siempre debe anteponerles try. Así la prueba se detiene y muestra el informe.
expectEqual para valores
Para comparar dos valores, utilice expectEqual. Comprueba la igualdad y, si falla, imprime tanto el valor esperado como el valor real.
try testing.expectEqual(5, add(2, 3));El valor esperado va primero
Con expectEqual, el primer argumento es el valor esperado y el segundo es lo que produjo su código. El orden determina el mensaje de error.
try testing.expectEqual(42, result);Comparación de slices
Dos slices son iguales cuando coinciden sus elementos, no sus punteros. Utilice expectEqualSlices e indique el tipo de elemento.
try testing.expectEqualSlices(u8, "hi", out);Comparación de cadenas
Para texto, expectEqualStrings compara dos slices de bytes e imprime una diferencia legible cuando no coinciden, lo que resulta perfecto para comprobar salidas.
try testing.expectEqualStrings("ok", msg);Aserte un error
A veces una llamada debe fallar. Envuélvala en expectError para comprobar que devuelve un error específico y no un valor.
try testing.expectError(error.Bad, parse("x"));Valores float aproximados
Los valores float rara vez coinciden exactamente. Utilice expectApproxEqAbs con una tolerancia pequeña para que las mínimas diferencias de redondeo no hagan fallar la prueba.
try testing.expectApproxEqAbs(1.0, x, 0.001);Lea el resultado del fallo
Cuando falla una aserción, Zig imprime los valores esperado y real directamente en el informe. Esa diferencia suele señalar directamente el error.
Elija la función auxiliar adecuada
Adapte la función auxiliar a los datos: expectEqual para escalares, las funciones auxiliares de slices y cadenas para secuencias, y expectError para la ruta de error.
Comprobación rápida
Necesita comprobar que dos valores de texto sean exactamente iguales en una prueba. ¿Qué función auxiliar es la más adecuada?
Resumen
Ha aprendido el conjunto de herramientas de std.testing: expect, expectEqual, comprobaciones de slices y cadenas, además de expectError. Todas necesitan try delante. ✅
Preguntas frecuentes
¿La lección «Aserciones con std.testing» es gratis?
Sí — el texto completo de «Aserciones con std.testing» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Zig Academy, actualiza a CoddyKit PRO. El curso de Zig Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Aserciones con std.testing»?
expect, expectEqual y funciones relacionadas. Practicas Zig Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Zig Academy?
No se requiere experiencia previa. Zig Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Aserciones con std.testing»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Zig Academy?
Sí. Cada lección de Zig Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Escribir bloques test
- Aserciones con std.testing
- El allocator de pruebas detecta fugas
- Ejecutar y filtrar pruebas