Aprender Rust Testing

Módulo del curso de Rust

Rust
Rust
Módulo del curso
Actualizado: 18/04/2026

Módulo: Testing

Este módulo forma parte del curso de Rust. .

Rust incluye un framework de testing integrado en el lenguaje y en Cargo, sin necesidad de dependencias externas. Los tests son funciones normales marcadas con #[test] que se ejecutan con cargo test.

Tests unitarios

Los tests unitarios conviven con el código que prueban en un módulo tests marcado con #[cfg(test)]. Esto significa que el código de test solo se compila cuando se ejecutan los tests, sin afectar el binario de producción. Con use super::* se importa todo el código del módulo padre.

Macros de aserción

Las macros de aserción son la base del testing en Rust: assert! verifica una condición booleana, assert_eq! verifica igualdad (mostrando ambos valores si falla), assert_ne! verifica desigualdad, y #[should_panic] verifica que el código produce un panic con el mensaje esperado.

Tests de integración

Los tests de integración se colocan en el directorio tests/ en la raíz del proyecto. Prueban la API pública de la biblioteca como la usaría un consumidor externo. Cada archivo en tests/ es un crate de test independiente.

Doc tests

Los ejemplos de código en comentarios de documentación (///) se ejecutan automáticamente como tests con cargo test --doc. Esto garantiza que los ejemplos siempre estén actualizados y sean correctos.

Organización y herramientas

Con #[ignore] se marcan tests lentos o pendientes. cargo test nombre filtra tests por nombre. Para cobertura de código se puede usar cargo-tarpaulin o cargo-llvm-cov. El patrón AAA (Arrange-Act-Assert) organiza cada test en tres fases claras: preparar el estado, ejecutar la acción y verificar el resultado.

Explora más sobre Rust

Descubre más recursos de Rust

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Rust es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.