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