Avatar ·

Cómo definir correctamente dependencias solo para pruebas en Rust/Cargo

¡Hola, colegas! Empecé a estudiar Rust y me encontré con un problema al escribir pruebas. Necesito usar el crate `rand` para generar datos aleatorios en las pruebas, pero no quiero que sea una dependencia en la compilación final. Agregué `rand` en la sección `[dependencies]` en `Cargo.toml`, pero esto aumenta el tamaño del binario y el tiempo de compilación. ¿Cómo puedo sacar correctamente las dependencias solo para pruebas? Intenté escribir así: ```toml [dev-dependencies] rand = "0.8" ``` Pero luego en las pruebas no puedo importar: `use rand::Rng;` — el compilador se queja de que no se encuentra el crate. También intenté usar `#[cfg(test)]` para compilación condicional, pero no entiendo cómo aplicarlo correctamente a las dependencias. Por favor, indíquenme cómo organizar dependencias de prueba (test-only dependencies) en Rust/Cargo. Necesito que: 1. Crates como `rand`, `tempfile`, `mockall` se incluyan solo al ejecutar `cargo test`. 2. En la compilación de producción, estos crates no afecten el tamaño ni el tiempo de compilación. 3. Las pruebas