
Testing
Tests unitarios, tests de integración, doc tests, assertions, should_panic, benchmarks, organización de tests
1¿Qué atributo marca una función como test unitario en Rust?
¿Qué atributo marca una función como test unitario en Rust?
Respuesta
El atributo #[test] le indica al compilador de Rust que la función anotada es un test unitario. Al ejecutar cargo test, todas las funciones marcadas con este atributo se descubren y ejecutan automáticamente. Los tests se compilan únicamente con el perfil de test y no se incluyen en el binario de producción.
2¿Qué comando de Cargo ejecuta todos los tests de un proyecto Rust?
¿Qué comando de Cargo ejecuta todos los tests de un proyecto Rust?
Respuesta
El comando cargo test compila el proyecto con los tests activados y ejecuta todos los tests unitarios, de integración y de documentación. Descubre automáticamente las funciones marcadas con #[test], los tests del directorio tests/ y los ejemplos de código en la documentación. Hay opciones para filtrar los tests por nombre o módulo.
3¿Qué macro se debe usar para comprobar que dos valores son iguales en un test?
¿Qué macro se debe usar para comprobar que dos valores son iguales en un test?
Respuesta
La macro assert_eq! compara dos valores y hace fallar el test si no son iguales. Muestra automáticamente los valores comparados en caso de fallo gracias al trait Debug, lo que facilita la depuración. A diferencia de assert!, proporciona un mensaje de error más informativo que muestra el valor esperado y el valor obtenido.
¿Dónde se deben colocar los tests de integración en un proyecto Rust?
¿Qué atributo se debe usar para probar que una función provoca un panic?
+15 preguntas de entrevista
Otros temas de entrevista Rust
Fundamentos de Rust
Ownership & Borrowing
Structs & Enums
Manejo de errores
Colecciones
Módulos y Paquetes
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Cargo & Ecosystem
Pattern Matching
Macros
Serde y serialización
Unsafe Rust
Traits avanzados
Lifetimes Avanzados
Type System
Tokio & Async I/O
Optimización de Rendimiento
Memory Management
Web Frameworks
Database Integration
Patrones de diseño en Rust
Domina Rust para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis